SQL 명령어 분류 정리

TJK·2025년 8월 22일

SQL 명령어 분류 정리

SQL 명령어는 크게 4가지로 분류됩니다. 이 분류를 정확히 이해하는 것이 SQLD 시험의 기본입니다.


1. DDL (Data Definition Language, 데이터 정의어)

핵심 개념 (★★★★★)

데이터베이스의 구조, 즉 스키마객체를 정의, 변경, 삭제하는 명령어입니다.

  • 주요 명령어:
    • CREATE: 객체(테이블, 뷰, 인덱스 등) 생성
    • ALTER: 객체 구조 변경
    • DROP: 객체 삭제
    • TRUNCATE: 테이블의 모든 데이터 삭제 (구조는 남김)
  • 특징:
    • 실행 즉시 자동 COMMIT 됩니다.
    • 따라서 ROLLBACK으로 되돌릴 수 없습니다.
  • 시험 출제 포인트:
    • 자동 COMMIT, ROLLBACK 불가 라는 키워드가 나오면 DDL입니다.
  • 암기 팁:
    • DDL = Define (정의한다)

2. DML (Data Manipulation Language, 데이터 조작어)

핵심 개념 (★★★★★)

테이블 안에 있는 데이터조회, 삽입, 수정, 삭제하는 명령어입니다.

  • 주요 명령어:
    • SELECT: 데이터 조회
    • INSERT: 데이터 삽입
    • UPDATE: 데이터 수정
    • DELETE: 데이터 삭제
  • 특징:
    • 트랜잭션 제어가 가능합니다. (COMMIT이나 ROLLBACK으로 작업을 확정하거나 취소할 수 있습니다.)
  • 시험 출제 포인트:
    • 데이터 조작, 트랜잭션 제어 가능 이라는 키워드가 나오면 DML입니다.
  • 암기 팁:
    • DML = Manipulate (조작한다)

3. DCL (Data Control Language, 데이터 제어어)

핵심 개념 (★★★★☆)

데이터베이스에 대한 접근 권한보안을 제어하는 명령어입니다.

  • 주요 명령어:
    • GRANT: 사용자에게 권한 부여
    • REVOKE: 사용자로부터 권한 회수
  • 특징:
    • 데이터나 구조보다는 보안 및 권한 관리에 중점을 둡니다.
  • 시험 출제 포인트:
    • 권한 부여, 권한 회수 라는 키워드가 나오면 DCL입니다.
  • 암기 팁:
    • DCL = Control (제어한다)

4. TCL (Transaction Control Language, 트랜잭션 제어어)

핵심 개념 (★★★☆☆)

트랜잭션의 결과를 확정하거나 취소하는 명령어입니다.

  • 주요 명령어:
    • COMMIT: 트랜잭션의 변경 사항을 영구적으로 저장
    • ROLLBACK: 트랜잭션 시작점으로 되돌리기
    • SAVEPOINT: 트랜잭션 내의 임시 저장 지점 설정
  • 특징:
    • DML 작업의 결과를 확정/취소할 때 사용됩니다.
    • DDL은 자동 COMMIT이므로 TCL로 제어할 수 없습니다.
  • 시험 출제 포인트:
    • COMMIT, ROLLBACK 이라는 키워드가 나오면 TCL입니다.
  • 암기 팁:
    • TCL = Transaction (트랜잭션)

SQL 명령어 비교표

구분역할주요 명령어핵심 특징시험 포인트
DDL구조 정의CREATE, ALTER, DROP자동 COMMIT, ROLLBACK 불가구조, 정의, DROP, TRUNCATE
DML데이터 조작SELECT, INSERT, DELETECOMMIT/ROLLBACK 가능데이터, 조작, DELETE
DCL권한 제어GRANT, REVOKE보안, 권한 관리권한 부여/회수
TCL트랜잭션 제어COMMIT, ROLLBACKDML 작업 제어트랜잭션, COMMIT, ROLLBACK

SQLD 시험 단축 키 (시험 직전 필독!)

  • CREATE, ALTER, DROP구조를 다루는 DDL
  • SELECT, INSERT, UPDATE, DELETE데이터를 다루는 DML
  • GRANT, REVOKE권한을 다루는 DCL
  • COMMIT, ROLLBACK트랜잭션을 다루는 TCL
  • TRUNCATE (DDL) vs DELETE (DML) 차이점 묻는 문제 자주 출제!

실전 기출 문제 스타일

1. 다음 중 DDL에 해당하지 않는 명령어는?
CREATE
ALTER
DELETE
DROP

2. 다음 설명에 해당하는 SQL 명령어는?
"테이블 데이터를 전부 삭제하며, 조건 지정은 불가능하고 ROLLBACK도 불가능하다."
DELETE
TRUNCATE
DROP
UPDATE

3. 데이터베이스 사용자의 권한을 회수할 때 사용하는 명령어는?
GRANT
REVOKE
ALTER
DENY

4. 트랜잭션을 부분적으로 저장하고 필요시 그 지점까지 복구할 수 있는 명령어는?
SAVEPOINT
ROLLBACK
COMMIT
CHECKPOINT

5. 다음 설명이 의미하는 SQL 분류는?
"데이터를 삽입/수정/삭제할 수 있으며, COMMIT/ROLLBACK이 가능하다."
① DDL
② DML
③ DCL
④ TCL


정답 및 해설

  • 문제 1 정답: ③ (DELETE)
    • 해설: CREATE, ALTER, DROP은 DB 객체의 구조를 변경하는 DDL입니다. DELETE는 테이블의 데이터를 삭제하는 DML입니다.
  • 문제 2 정답: ② (TRUNCATE)
    • 해설: TRUNCATE는 DDL 명령어이므로 ROLLBACK이 불가능하며, WHERE 절을 사용할 수 없어 테이블의 모든 데이터를 삭제합니다.
  • 문제 3 정답: ② (REVOKE)
    • 해설: REVOKE는 사용자에게 부여한 권한을 회수하는 DCL 명령어입니다. GRANT는 권한을 부여하는 명령어입니다.
  • 문제 4 정답: ① (SAVEPOINT)
    • 해설: SAVEPOINT는 트랜잭션 내에서 임시 저장 지점을 설정하여, 문제가 발생했을 때 그 지점까지만 ROLLBACK할 수 있게 합니다.
  • 문제 5 정답: ② (DML)
    • 해설: INSERT, UPDATE, DELETE와 같은 데이터 조작 명령어는 COMMITROLLBACK으로 트랜잭션을 제어할 수 있는 DML에 속합니다.
profile
Hello world!

0개의 댓글