이번에는 MySQL에서 TRUNCATE 명령어란 DELETE문과 같이 테이블의 레코드를 삭제하기 위하여 사용합니다. 하지만 DELETE문과는 다르게 동작하며 테이블 초기화의 기능을 가진 TRUNCATE에 대하여 알아보도록 하겠습니다.
MySQL TRUNCATE 테이블 초기화
MySQL DELETE 문 정리 (테이블 데이터 삭제)
MySQL에서 DELETE문은 테이블(Table)에 저장되어 있는 데이터를 삭제하기 위해 사용하는 SQL문입니다. 기본적인 사용법으로 테이블(Table)의 전체 레코드 또는 삭제할 레코드를 선택하여 삭제하실 수
chragu.com
1. TRUNCATE란?
테이블의 모든 데이터를 완전히 삭제합니다. TRUNCATE는 레코드 단위가 아닌 테이블을 자체를 DROP문을 실행한 후 재생성하는 과정으로 DML이 아닌 DDL 언어에 가깝습니다. TRUNCATE는 테이블의 최초 생성된 초기 상태로 만들어주는 역할을 하는 명령어로 할당된 Storage만 남기고 모두 삭제합니다.
- TRUNCATE TABLE [테이블명]
-- 'TEST' 테이블의 모든 데이터를 삭제합니다.
TRUNCATE TABLE TEST;
2. TRUNCATE와 DELETE의 공통점과 차이점
⊙ 공통점
- 두 명령어 모두 테이블의 레코드를 삭제하기 위하여 사용합니다.
⊙ 차이점
- TRUNCATE는 DELETE보다 더 빠른 수행속도를 보이지만 테이블 명세만 남기고 데이터가 존재하던 공간을 모두 제거하기 위한 명령어로 복구가 불가능하다는 제한사항 또한 존재합니다. 그리고 기존 사용중인 AUTO_INCREMENT 값 역시 초기화가 됩니다.
- DELETE는 조건에 맞는 데이터를 선택하여 삭제할 수 있지만, TRUNCATE는 전체 데이터만을 삭제할 수 있습니다.
이상으로 MySQL에서 TRUNCATE 명령어에 대한 설명 및 DELETE와의 차이점에 대하여 알아보았습니다.
'DataBase > MySQL' 카테고리의 다른 글
MySQL UPDATE 문 조건에 맞는 여러 개의 데이터 변경 방법 (0) | 2024.08.14 |
---|---|
MySQL INSERT 문 사용 방법 정리 (데이터 삽입) (0) | 2024.08.13 |
MySQL DELETE 문 정리 (테이블 데이터 삭제) (0) | 2022.12.21 |
MySQL 날짜(DATE) 조건 검색 사용법 (0) | 2022.12.21 |
MySQL 일별, 주별, 월별, 특정 기간별 통계 조회 (1) | 2022.12.19 |
댓글