[SQL] DELETE / DROP / TRUNCATE 차이

앙이🐯·2023년 7월 1일
0

SQL

목록 보기
1/1

1. DELETE

DELETE FROM T1;
DELETE FROM T1 WHERE IDX=1;
#T1 : 테이블명
#IDX : 컬럼명
  • DML
  • WHERE절을 사용해 테이블에 있는 데이터를 선택해 제거하는 방식
  • WHERE절을 사용하지않으면 모든 데이터가 삭제되고 테이블 스키마만 남음
  • TRUNCATE보다 더 많은 트랜잭션 공간을 사용
  • DELETE된 데이터는 COMMIT 명령어를 사용하기 전이라면, ROLLBACK 명령어를 통해 되돌릴 수 있음

2. DROP

DROP TABLE T1;
#T1 : 테이블명
  • DDL
  • 데이터베이스에서 테이블을 제거
    => 테이블의 행, 인덱스 및 권한까지 제거
  • 자동 COMMIT이 발생해 ROLLBACK 불가능

3. TRUNCATE

TRUNCATE TABLE T1;
#T1 : 테이블명
  • DDL
  • WHERE절을 사용해 개별적으로 행 삭제 불가
    => 테이블에서 모든 행 제거
  • 테이블의 용량 초기화
    => 테이블을 처음 create 한 상태로 되돌림
  • 자동 COMMIT이 발생해 ROLLBACK 불가능

0개의 댓글