SQL 기본 및 활용
🗄️ SQL관리 구문★★★★☆자주

DDL 과 DCL

DDL 은 구조를 만들고 바꾸는 것(CREATE·ALTER·DROP·TRUNCATE), DCL 은 권한을 주고 뺏는 것(GRANT·REVOKE)이다.

CREATEALTERDROPTRUNCATEGRANTREVOKE

왜 그런지까지

ALTER TABLE 로 열을 더하거나(ADD) 이름을 바꾸거나(RENAME) 없앨(DROP) 수 있다. 열의 자료형을 줄이는 것은 이미 든 값보다 작게는 못 줄인다.

DDL 은 실행 즉시 확정되어 ROLLBACK 으로 되돌릴 수 없다. DCL 의 GRANT 는 권한을 주고 REVOKE 는 거둬들이며, WITH GRANT OPTION 으로 받은 사람이 다시 남에게 줄 수 있게 할 수 있다.

명령 분류

분류명령자동 확정
DDLCREATE · ALTER · DROP · TRUNCATE그렇다
DMLINSERT · UPDATE · DELETE · MERGE아니다
DCLGRANT · REVOKE그렇다
TCLCOMMIT · ROLLBACK · SAVEPOINT

헷갈리는 것

TRUNCATE 는 DDL

이름은 데이터를 지우는 것 같지만 TRUNCATE 는 DDL 이라 자동 확정되어 ROLLBACK 으로 되돌릴 수 없다.

확인 문제

넣어 두면 오늘 · 1일 · 3일 · 7일 · 14일 · 30일 간격으로 다시 물어봅니다