MySQL
TRUNCATE TABLE 명령어는 DDL으로 개별적으로 행을 삭제할 수 없으며, 테이블 내부의 모든 행을 삭제한다.
TRUNCATE TABLE 테이블 이름;으로 사용한다.
테이블에서 TRUNCATE TABLE 명령어를 사용하려면 테이블에 대한 ALTER 권한이 필요하다.
DELETE 명령어어는 DML으로 개별적으로 행을 삭제 할 수 있으며 테이블의 행을 삭제한다.
DELETE FROM 테이블 이름 WHERE 조건;으로 사용한다.
DELETE FROM 테이블 이름; 하면 조건을 정하지 않아서 TRUNCATE TABLE 테이블 이름;와 같이 모든 행이 삭제가 되는데 이 차이점은 뭘까?
TRUNCATE TABLE은 테이블을 한번 DROP하고 다시 CREATE하는 기능이 포함되어 있다.
그렇기때문에 AUTO_INCREMENT로 생성된 ID도 초기화되며 다음 생성되는 ID는 1부터 시작한다.
단순히 행을 삭제하는게 아니라 테이블을 초기화 시킬 필요가 있다면 TRUNCATE TABLE SQL문을 사용해야 한다.
'개념정리' 카테고리의 다른 글
| HTTP (0) | 2023.04.04 |
|---|---|
| Vector Hashtable VS Collections.synchronizedXxx() (0) | 2023.04.04 |
| Map putIfAbsent(), replace() (0) | 2023.03.16 |
| 타입추론 (0) | 2023.03.15 |
| String compareTo (0) | 2023.03.15 |