BOARD / DDL / 2026-04-13

SQL DDL 정리

DDL은 데이터가 아니라 데이터 구조 자체를 만드는 명령입니다. 테이블, 인덱스, 뷰, 시퀀스 같은 객체를 생성하고 수정하고 삭제하는 역할을 담당합니다.

게시판 목록BLACK SQL 실습SQLD 문제은행

DML이 행 데이터를 다룬다면 DDL은 테이블과 객체의 틀을 다룹니다. 구조를 바꾸는 명령이므로 영향 범위를 넓게 봐야 하고, 트랜잭션 개념도 DML과 다르게 이해해야 합니다.

핵심 체크포인트

  • CREATE는 생성, ALTER는 구조 수정, DROP은 객체 삭제입니다.
  • TRUNCATE는 모든 행을 빠르게 비우지만 테이블 구조는 유지합니다.
  • DDL은 객체 자체에 영향을 주므로 실습과 운영에서 의미가 크게 다릅니다.

주제별 설명

CREATE

새로운 테이블, 뷰, 인덱스, 시퀀스 등을 생성하는 명령입니다.

  • 컬럼 정의, 타입, 제약조건이 여기서 함께 정해집니다.
  • 객체 생성은 이후 모든 SQL의 기반이 됩니다.

ALTER

기존 객체의 구조를 변경하는 명령입니다.

  • 컬럼 추가, 수정, 제약조건 변경 같은 작업에 사용합니다.
  • 기존 데이터와 충돌 여부를 함께 고려해야 합니다.

DROP

객체 자체를 삭제하는 명령입니다.

  • 테이블 DROP은 구조와 데이터가 모두 사라진다고 이해하면 됩니다.
  • 시험에서는 DELETE, TRUNCATE, DROP 차이를 묻는 경우가 많습니다.

TRUNCATE

테이블 구조는 유지한 채 모든 데이터를 빠르게 제거하는 명령입니다.

  • 행 단위 삭제가 아니라 전체 비우기에 가깝습니다.
  • DELETE와 성격이 다르므로 DML과 DDL 구분 관점에서 함께 기억해야 합니다.

RENAME

객체 이름을 변경하는 명령입니다.

  • 객체 참조 지점이 많다면 영향 범위를 같이 점검해야 합니다.
  • 실무에서는 명명 규칙 정리나 이관 작업 때 등장합니다.

실습 흐름 추천

  1. DML과 DDL의 차이를 먼저 말로 정리합니다.
  2. DELETE, TRUNCATE, DROP을 한 세트로 비교합니다.
  3. ALTER는 컬럼 구조 변경이라는 관점으로 예시를 떠올려 보면 기억이 오래 갑니다.
바로 이어서 해보려면

이론만 읽지 말고 바로 blacksql.sqld.kr에서 실행해보고, 문제 풀이 감각은 www.sqld.kr에서 이어가면 학습 속도가 훨씬 빨라집니다.

자주 묻는 질문

TRUNCATE는 왜 DDL로 보나요?

행 단위 삭제라기보다 테이블 데이터를 구조적으로 비우는 성격이 강하고 트랜잭션 처리도 DELETE와 다르게 이해하기 때문입니다.

시험에서 DDL은 어떤 식으로 자주 나오나요?

DELETE/TRUNCATE/DROP 비교, CREATE/ALTER 역할 구분, 제약조건과 함께 묶인 개념 문제로 자주 나옵니다.