DELETE vs TRUNCATE vs DROP

김동욱·2023년 7월 17일
0

SQL

목록 보기
2/2
post-thumbnail

Oracle도 동일 하게 존재하는 DB에서 테이블의 삭제와 관련된 명령문인
DELETE / TRUNCATE / DROP 문에 대해서 알아보자.

1. DELETE

테이블에 있는 row의 데이터를 삭제한다.

테이블 전체 row데이터를 삭제할때의 DELETE문

DELETE FROM table_name;
ex) DELETE FROM emp;

특정하는 row의 데이터를 삭제할때의 DELETE문

DELETE FROM table_name WHERE 조건문;
ex) DELETE FROM emp WHERE empno = 10;

번호 이름 나이 주소 성별
1 홍길동 19 대구
2 김철수 17 서울
3 김영희 22 부산

번호 이름 나이 주소 성별
(null) (null) (null) (null) (null)
(null) (null) (null) (null) (null)
(null) (null) (null) (null) (null)

2. TRUNCATE

테이블을 초기화한다.
보기에는 테이블의 row를 삭제한 것으로 보이나
이는 테이블을 DROP 후에 재생성 하는 개념이다.

TRUNCATE = DROP + CREATE

테이블을 초기화하는 TRUNCATE

TRUNCATE TABLE table_name;
ex) TRUNCATE TABLE emp;

  • TRUNCATE는 DELETE와 달리 DROP과 CREATE를 한번에 적용하는 방식이기에
    table에 대한 명세는 유지하나 rollback을 통해 되돌릴수 없다.
  • 또한 특정 데이터를 삭제하는 방식을 사용할순없다.
번호 이름 나이 주소 성별
1 홍길동 19 대구
2 김철수 17 서울
3 김영희 22 부산

번호 이름 나이 주소 성별

3. DROP

테이블을 삭제한다.
테이블 내부의 데이터 뿐만 아니라 테이블 전체를 삭제한다.

테이블을 삭제하는 DROP

DROP TABLE table_name;
ex) DROP TABLE emp;

번호 이름 나이 주소 성별
1 홍길동 19 대구
2 김철수 17 서울
3 김영희 22 부산

[테이블이 존재하지 않습니다.]

profile
땅에 떨어진 밥 한톨도 주워 먹으면서 성장하자

1개의 댓글

comment-user-thumbnail
2023년 7월 18일

아주 유용한 정보네요!

답글 달기