[SQL] DELETE FROM / TRUNCATE / DROP TABLE

songeunm·2024년 12월 11일

DB & SQL

목록 보기
10/27

셋 모두 데이터를 삭제한다는 점에서 공통점이 있다.
다만 그 세부적인 작동 방법과 내용에 차이가 있다.

DELETE FROM

DELETE FROM table_name
WHERE column_1 = condition;
  • 테이블에서 레코드를 삭제
  • WHERE절을 통해 일부 레코드만 삭제 가능
  • 속도가 느림
  • DML

TRUNCATE

TRUNCATE TABLE table_name;
  • 테이블에서 레코드를 전부 삭제
  • WHERE 사용 불가능
  • 트랜잭션 지원하지 않음
  • 전체 삭제 명령이기 때문에 속도 빠름
  • DDL

DROP TABLE

DROP TABLE table_name;
  • 테이블 자체를 삭제 → 테이블 스키마 자체를 삭제함
  • 속도가 가장 빠름
  • DDL

테이블로 비교

DELETE FROMTRUNCATEDROP TABLE
테이블 구조 삭제XXO
레코드 일부 삭제OXX
트랜잭션 지원O대부분 X대부분 X
속도느림빠름가장 빠름
ROLLBACKO대부분 X대부분 X
profile
데굴데굴 구르는 개발자 지망생

0개의 댓글