오늘은 '삭제'라는 공통점을 가지고 있지만, 삭제의 범주와 대상이 서로 다른 세 가지 명령어인 DELETE, TRUNCATE, DROP에 대해서 알아보는 포스팅을 진행해 보겠습니다.

출처: https://wikidocs.net/4021
출처의 사진 1장이면 모든 것이 설명이 되지만 오늘은 조금 더 풀어서 설명을 해 보도록 하겠습니다.
✏️DELETE
- SELECT, INSERT, UPDATE와 함께 DML(Data Manipulation Laguage, 데이터조작어) 중 하나입니다.
- 테이블에서 튜플(행)을 삭제하는 역할을 하고 있습니다.
- 원하는 데이터만 삭제를 할 수 있고 삭제 후 잘 못 삭제한 것을 되돌릴 수 있습니다.
- 모든 레코드를 삭제하더라도 테이블의 구조는 남아 있기 때문에 디스크에서 테이블을 완전히 제거하는 DROP과는 차이점이 있습니다.
✏️TRUNCATE
- DDL명령어 중 하나입니다.
- 모든 튜플(행)을 삭제하는 역할을 하고 있습니다.
- 행 전체 + 인덱스를 삭제합니다.
- 조건절(WHERE)을 사용할 수 없습니다.
- AUTO COMMIT이라 ROLLBACK이 불가능합니다.
✏️DROP
- DDL명령어 중 하나입니다.
- 데이터베이스에서 테이블을 제거하는 역할을 합니다.
- 테이블의 튜플(행), 인덱스 및 권한도 제거합니다.
- AUTO COMMIT이라 ROLLBACK이 불가능합니다.
정말 잘 읽었습니다, 고맙습니다!