Computer Science

[CS / DataBase] Drop truncate Delete 차이

마볼링 2022. 6. 26. 17:52

DELETE, TRUNCATE, DROP 명령어는 모두 삭제하는 명령어이지만 차이점이 있다.

 

DELETE

  • WHERE절을 사용하여 테이블에 있는 데이터를 하나하나 선택하여 제거하는 방식
  • 데이터를 삭제하더라도 데이터가 담겨있던 용량은 줄어들지않는다
  • DELETE된 데이터는 COMMIT 명령어를 사용하기 전이라면, ROLLBACK 명령어를 통해 되돌릴 수 있음

 

TRUNCATE

  • 전체 데이터를 한번에 삭제하는 방식
  • 최초 생성되었을 당시의 Storage만 남기고, 데이터가 남겨있던 Storage는 Release 된다.
  • 자동 COMMIT이 되는 명령어이기 때문에, 이미 지운 데이터는 되돌릴 수 없다.

 

DROP

  • 테이블 자체를 완전히 날려버리는 방식 
  • 테이블 자체가 모두 지워지며, 해당 테이블에 생성되어 있던 모든 인덱스도 사라진다.
  • 자동 COMMIT이 되는 명령어이기 때문에, 이미 지운 데이터는 되돌릴 수 없다.

 

 

 

 

 

 

 


참고

 

[SQL] DELETE / TRUNCATE / DROP 차이점

1) DELETE - WHERE절을 사용하여 테이블에 있는 데이터를 하나하나 선택하여 제거하는 방식 - WHERE절을 사용하지않고 테이블의 모든 데이터를 삭제하더라도, 내부적으로는 한줄 한줄 일일히 제거하

prinha.tistory.com

 

 

6) DELETE, TRUNCATE, DROP 명령어의 차이점

* DELETE, TRUNCATE, DROP 명령어는 모두 삭제하는 명령어이지만 중요한 차이점이 있다. ![](https://wikidocs.net/images/page/4 ...

wikidocs.net