Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL TRUNCATE 명령어란? 용도와 사용법 완벽 정리

MySQL에서 TRUNCATE 명령어는 이름 그대로 테이블에 저장된 모든 레코드(행)를 한 번에 삭제하는 데 사용됩니다. WHERE 절 없이 전체 데이터를 빠르게 제거해야 할 때 유용하며, DELETE 문과 달리 테이블 구조 자체는 그대로 유지됩니다.

기본 문법

Truncate table table_name;

사용 예시

아래 예시는 'student' 테이블의 모든 레코드를 삭제하는 방법을 보여줍니다.

mysql> Truncate table student;
Query OK, 0 rows affected (0.18 sec)

위 쿼리를 실행하면 'student' 테이블의 모든 레코드가 삭제됩니다. 실제로 데이터가 모두 제거되었는지 확인하려면 다음과 같이 SELECT 문을 실행해 볼 수 있습니다.

mysql> select * from student;
Empty set (0.00 sec)

실행 결과로 Empty set이 반환되는 것을 확인할 수 있으며, 이는 테이블에 더 이상 남아 있는 레코드가 없다는 의미입니다.

참고: DELETE와 TRUNCATE의 차이점

  • DELETE: 조건(WHERE 절)을 지정해 일부 행만 삭제할 수 있으며, 각 행의 삭제가 로그에 기록되므로 속도가 상대적으로 느립니다.
  • TRUNCATE: 항상 테이블 전체를 대상으로 하며, 내부적으로 테이블을 재생성하는 방식으로 동작하기 때문에 대량의 데이터를 삭제할 때 훨씬 빠릅니다.

따라서 테이블 구조를 유지한 채 전체 데이터를 신속하게 비우고 싶다면 TRUNCATE 명령어를 사용하는 것이 가장 효율적입니다.