쌓고 쌓다

[Oracle] TRUNCATE 본문

프로그래밍/SQL

[Oracle] TRUNCATE

승민아 2022. 11. 27. 20:08

TRUNCATE

테이블 구조는 그대로 유지하며, 테이블의 데이터와 할당된 공간을 삭제

TRUNCATE TABLE table_name;

 

DELETE 명령문과 차이

DELETE 명령문

  • 기존 데이터만 삭제하는 명령이며, ROLLBACK 가능하다.
  • WHERE 절을 이용하여 특정 행만 삭제 가능하다.

TRUNCATE 명령문

  • 기존 데이터 삭제뿐만 아니라, 물리적인 공간까지 반환한다.
  • DDL문이므로 ROLLBACK이 불가능하다.
  • WHERE 절을 이용하여 특정 행만 삭제하는 것이 불가능하다.

DDL(Data Definition Language) : 데이터 정의어 = 테이블과 같은 데이터베이스 구조를 정의

DML(Data Manipulation Language) : 데이터 조작어 = 테이블에 있는 행과 열을 조작 (DELETE)

 

EX)

-- client_address 테이블의 데이터와 할당된 공간 삭제
TRUNCATE TABLE client_address;

-- student_102 테이블의 내용 모두 삭제
TRUNCATE TABLE student_102;

 

 

Comments