Delete, Truncate, Drop의 차이
테이블을 지우는 명령어에 대해 알아 보았습니다.
- Delete
- Truncate
- Drop
DELETE
DELETE FROM players;
DELETE을 사용해서 테이블에 있는 데이터를 지울 경우 특징
- where를 사용하여 원하는 데이터만 지울수 있다
- 데이터를 지워도 테이블의 용량은 줄어들지 않는다
- COMMIT이 포함되어 있지 않기 때문에 지우고 나서 ROLLBACK을 사용해서 데이터를 되돌릴수 있다
- 데이터를 지워도 전체 테이블의 정보는 아직 살아 있다
TRUNCATE
TRUNCATE players;
TRUNCATE을 사용해서 테이블에 있는 데이터를 지울 경우 특징
- COMMIT이 포함되어 있기 때문에 지우고 나면 되돌릴수 없다
- 데이터들이 차지하고 있던 메모리도 삭제 되기 때문에 용량도 줄어든다
- DELETE처럼 where를 사용해서 테이블의 일부 데이터만 지우는건 불가능하다
- TRUNCATE을 써도 테이블의 정보는 아직 살아 있다
- 테이블의 전체 Row들을 삭제하기 때문에 DELETE보다 빠르다
DROP
DROP players;
DROP을 사용해서 테이블에 있는 데이터를 지울 경우 특징
- 전체 테이블의 데이터들을 삭제한다
- 테이블의 전체 구조를 삭제하기 때문에 해당 테이블에 데이터를 넣고 싶다면 테이블을 새로 만들어야 한다
- ROLLBACK을 사용하여 되돌리는게 불가능하다
'Database > SQL' 카테고리의 다른 글
[SQL] - Grant, Revoke (Data Control Language/ DCL) (0) | 2021.03.31 |
---|---|
[SQL] - Insert, Delete, Update, Select (Data Manipulation Language/DML) (0) | 2021.03.29 |
[SQL] - Create, Drop, Alter (Data Definition Language/DDL) (0) | 2021.03.25 |