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안에 있는 데이터들만 한 줄 씩 제거한다. 용량은 그대로 유지되며, 롤백이 가능하다.