DDL 은 구조를 만들고 바꾸는 것(CREATE·ALTER·DROP·TRUNCATE), DCL 은 권한을 주고 뺏는 것(GRANT·REVOKE)이다.
왜 그런지까지
ALTER TABLE 로 열을 더하거나(ADD) 이름을 바꾸거나(RENAME) 없앨(DROP) 수 있다. 열의 자료형을 줄이는 것은 이미 든 값보다 작게는 못 줄인다.
DDL 은 실행 즉시 확정되어 ROLLBACK 으로 되돌릴 수 없다. DCL 의 GRANT 는 권한을 주고 REVOKE 는 거둬들이며, WITH GRANT OPTION 으로 받은 사람이 다시 남에게 줄 수 있게 할 수 있다.
명령 분류
| 분류 | 명령 | 자동 확정 |
|---|---|---|
| DDL | CREATE · ALTER · DROP · TRUNCATE | 그렇다 |
| DML | INSERT · UPDATE · DELETE · MERGE | 아니다 |
| DCL | GRANT · REVOKE | 그렇다 |
| TCL | COMMIT · ROLLBACK · SAVEPOINT | — |
TRUNCATE 는 DDL
이름은 데이터를 지우는 것 같지만 TRUNCATE 는 DDL 이라 자동 확정되어 ROLLBACK 으로 되돌릴 수 없다.
넣어 두면 오늘 · 1일 · 3일 · 7일 · 14일 · 30일 간격으로 다시 물어봅니다