DDL vs DML vs DCL 이란?
명령어 종류 | 명령어 | 비고 |
DDL(Data Definition Language) 데이터 정의 언어 |
CREATE TABLE | database 구조나 스키마를 생성, 변경, 삭제 할 때 사용되는 명령어들을 의미 |
ALTER TABLE | ||
DROP TABLE | ||
RENAME TABLE | ||
TRUNCATE TABLE | ||
DML(Data Manipulation Language) 데이터 조작 언어 |
SELECT | 데이터 베이스 안에 있는 실제 데이터들을 조작하는데 사용되는 명령어들을 의미 |
INSERT | ||
UPDATE | ||
DELETE | ||
DCL(Data Control Language) 데이터 제어 언어 |
GRANT | 데이터 베이스에 관한 권한을 부여하고, 회수하는데 사용되는 명령어들을 의미 |
REVOKE | ||
DENY |
* DROP vs TRUNCATE vs DELETE ?
- DROP: Table 자체를 없애버린다. 되돌릴 수 없다.
- TRUNCATE: Table은 존재하지만, 안에 있는 모든 데이터들과 인덱스들을 모두 한번에 삭제한다. 되돌릴 수 없다.
- DELETE: Table안에 있는 데이터들만 한 줄 씩 제거한다. 용량은 그대로 유지되며, 롤백이 가능하다.