SQL Language Family

SQL은 하나의 언어지만 변경 대상에 따라 네 갈래로 나뉜다

SQL 명령은 구조를 정의하는지, 행을 조회·변경하는지, 접근 권한을 관리하는지, 트랜잭션을 확정·취소하는지에 따라 역할이 달라집니다. 분류를 외우기보다 “무엇에 영향이 남는가”로 보면 더 빠르게 잡힙니다.

Structure DDL

스키마와 객체 정의를 바꾸고 시스템 카탈로그에 흔적이 남는다.

CREATE ALTER DROP
Rows DML

테이블 안의 현재 행을 조회하거나 변경한다.

INSERT SELECT UPDATE DELETE
Access DCL

사용자와 역할의 권한 정보를 관리한다.

GRANT REVOKE
Transaction TCL

명시적 트랜잭션의 변경을 확정하거나 되돌린다.

COMMIT ROLLBACK SAVEPOINT
구분 질문 무엇을 바꾸는가

구조, 행, 권한, 트랜잭션 상태 중 어느 영역에 영향이 남는지 먼저 본다.

DBMS 내부 영향 위치는 하나로만 끝나지 않는다

명령 하나가 카탈로그, 데이터 파일, 권한 정보, 로그를 함께 건드릴 수 있다.

학습 기준 큰 책임을 먼저 잡는다

세부 예외보다 DDL·DML·DCL·TCL의 기본 책임을 먼저 구분하면 된다.