MySQL 기초

삭제

DELETE

행단위로 데이터를 삭제

문법

DELETE FROM 테이블명 [WHERE 삭제하려는 칼럼 명=값]

예제

DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
  `id` tinyint(4) NOT NULL,
  `name` char(4) NOT NULL,
  `sex` enum('남자','여자') NOT NULL,
  `address` varchar(50) NOT NULL,
  `birthday` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
INSERT INTO `student` VALUES (1, '이숙경', '여자', '청주', '1982-11-16 00:00:00');
INSERT INTO `student` VALUES (2, '박재숙', '남자', '서울', '1985-10-26 00:00:00');
INSERT INTO `student` VALUES (3, '백태호', '남자', '경주', '1989-2-10 00:00:00');
INSERT INTO `student` VALUES (4, '김경훈', '남자', '제천', '1979-11-4 00:00:00');
INSERT INTO `student` VALUES (8, '김정인', '남자', '대전', '1990-10-1 00:00:00');
INSERT INTO `student` VALUES (6, '김경진', '여자', '제주', '1985-1-1 00:00:00');
INSERT INTO `student` VALUES (7, '박경호', '남자', '영동', '1981-2-3 00:00:00');
DELETE FROM student WHERE id = 2;

TRUNCATE

  • 테이블의 전체 데이터를 삭제
  • 테이블에 외부키(foreign key)가 없다면 DELETE보다 훨씬 빠르게 삭제됨

문법

TRUNCATE 테이블명

예제

TRUNCATE student;

DROP TABLE

테이블을 삭제한다.

문법

DROP TABLE 테이블명;

예제

DROP TABLE student;

 

 

댓글

댓글 본문
  1. ggyuker
    2022.01.12 수강완료
  2. 다시시작
    완료
  3. NamJin Kim
    감사합니다
  4. JustStudy
    고맙습니다
  5. 이주환
    2016 04. 12
    정독했습니다.
    delete는 강조하신거처럼 조심히 사용해야하지요. check..
  6. WayneKing
    dbdb딥~
  7. 샤핀
    잘봤습니다. 오늘은 db를 끝내리라!
  8. HwangTY
    delete from `...`
    무섭네요 갠적으로 delete는 한번더 확인하는 문장이 있었으면 좋을런만...
    잘보았습니다
    DB 아직 간단한거만 해서 그런지 검은화면에서 하는것이 재밌네요
  9. 생또생
    TRUNCATE테이블의 전체 데이터를 삭제테이블에 외부키(foreign key)가 없다면 DLETE보다 훨씬 빠르게 삭제됨::오타 DLETE --> DELETE
  10. Starmomo
    DELETE / TRUNCATE / DROP 차이 : Delete는 행 단위의 삭제 --> Truncate는 모든 행을 (행 삭제 로그, 트랜젝션 유발없이)단번에 삭제(테이블 구조와 테이블의 열, 제약 조건, 인덱스 등은 그대로 남음) --> Drop은 파일에 해당하는 Table을 삭제.
    TRUNCATE TABLE sutdent ;
    TRUNCATE TABLE [ { database_name .[ schema_name ] . | schema_name . } ] table_name[ ; ] -[출처:http://msdn.microsoft.com/ko-k...]