본문 바로가기
프로그래밍/Database

(데이터베이스) Delete, Drop, Truncate 데이터 삭제하기

by LiveData 2019. 1. 19.
반응형






1. DELETE

: 테이블의 행을 삭제할 수 있다.

ex) DELETE FROM student;



특징

  • 테이블이나 클러스터에 행이 많으면 행에 삭제 될 때마다 SYSTEM 자원이 소모된다.
  • TRIGGER이 걸려있다면 각 행이 삭제될 때 실행된다.
  • 이전에 할당되었던 영역은 삭제되어 빈 테이블이나 클러스터에 그대로 남아 있게 된다.




2. DROP

 : 테이블을 삭제할 수 있다

ex) DROP TABLE student;



특징

  • 테이블이나 클러스터를 삭제하면 관련된 index, constraint, trigger도 삭제되며 삭제된 테이블이나 스컬러스터 테이블에 종속된 Objects는 무효화 된다.
  • 삭제된 테이블이나 클러스터 테이블에 부여된 권한도 삭제된다.



3. TRUNCATE
 : 테이블의 모든 행을 삭제한다.
EX) TRUNCATE TABLE student;

특징
  • 테이블이나 클러스터에서 모든 행을 삭제하는 빠르고 효율적인 방법이다.
  • DDL 명령문으로 ROLLBACK이 안되고 즉시 COMMIT을 수행한다.
  • TRUNCATE 명령문이 테입르에서 ROW를 삭제하면 해당 테이블에 걸려있는 TRIGGER은 실행되지 않는다.





출처

http://www.gurubee.net/article/1455



반응형