셋 모두 데이터를 삭제한다는 점에서 공통점이 있다.
다만 그 세부적인 작동 방법과 내용에 차이가 있다.
DELETE FROMDELETE FROM table_name
WHERE column_1 = condition;
WHERE절을 통해 일부 레코드만 삭제 가능TRUNCATETRUNCATE TABLE table_name;
WHERE 사용 불가능DROP TABLEDROP TABLE table_name;
| DELETE FROM | TRUNCATE | DROP TABLE | |
|---|---|---|---|
| 테이블 구조 삭제 | X | X | O |
| 레코드 일부 삭제 | O | X | X |
| 트랜잭션 지원 | O | 대부분 X | 대부분 X |
| 속도 | 느림 | 빠름 | 가장 빠름 |
| ROLLBACK | O | 대부분 X | 대부분 X |