[sql] TRUNCATE 문을 사용하여 SQL에서 테이블의 모든 데이터 삭제하기

SQL에서 TRUNCATE 문은 테이블의 모든 데이터를 한 번에 삭제하는 명령어입니다. 이를 사용하면 레코드를 하나씩 삭제하는 DELETE문과는 달리, 테이블을 완전히 비우게 됩니다.

TRUNCATE 문 구문

TRUNCATE TABLE table_name;

위의 코드에서 table_name은 데이터를 삭제할 테이블의 이름을 나타냅니다.

TRUNCATE와 DELETE의 차이

TRUNCATE 문과 DELETE 문의 가장 큰 차이점은 데이터 삭제 방식입니다. TRUNCATE는 데이터를 빠르게 삭제하지만 트랜잭션 로그를 사용하지 않으므로 롤백할 수 없습니다. 반면 DELETE는 행 단위로 데이터를 삭제하며, 트랜잭션 로그를 사용하여 롤백할 수 있습니다.

TRUNCATE 사용 시 주의사항

TRUNCATE 문을 사용하여 테이블의 데이터를 삭제할 때, 해당 테이블에 대한 모든 권한이 필요합니다. 또한, 테이블이 참조하는 외래 키를 가지는 경우에는 외래 키 제약 조건이 없어져서 연결된 다른 테이블들에 영향을 미칠 수 있으므로 주의해야 합니다.

요약

TRUNCATE 문은 SQL에서 테이블의 모든 데이터를 빠르게 삭제하는 명령어로, 주의사항을 지켜 사용해야 합니다.

자세한 내용은 SQL TRUNCATE 문 공식 문서를 참고할 수 있습니다.