CS

SQL: DDL과 DML

개발자 김마늘 2025. 4. 13. 21:56

SQL의 DDL과 DML에 대해 정리한 글입니다.

DDL(Data Definition Language)

데이터베이스의 구조를 정의하거나 변경할 때 사용하는 SQL의 한 종류

 

특징

  • 데이터베이스 객체의 형태나 구조를 정의
  • 대부분의 DDL 문은 실행 즉시 자동 커밋되어 되돌릴 수 없음
  • 스키마 설계 및 변경 시 필수적으로 사용

주요 명령어

  1. CREATE: 데이터베이스 객체(테이블, 뷰, 인덱스 등)를 새로 생성할 때 사용
  2. ALTER: 기존의 데이터베이스 객체를 수정할 때 사용
  3. DROP: 데이터베이스 객체를 삭제할 때 사용
  4. TRUNCATE: 테이블의 모든 데이터를 삭제, 테이블 구조는 유지

 

DML(Data Manipulation Language)

데이터베이스에 저장된 실제 데이터를 조회, 추가, 수정, 삭제하는 데 사용하는 SQL의 한 종류

이미 정의된 테이블 구조 내에서 데이터를 다루는 언어

 

특징

  • 데이터를 실시간으로 다루는 데 사용(조회, 추가, 수정, 삭제)
  • 대부분의 DML 명령어는 트랜잭션의 영향을 받으며, ROLLBACK이 가능
    • 즉, 실행 후 COMMIT해야 실제 반영되고, ROLLBACK으로 되돌릴 수 있다
더보기

트랜잭션: 데이터베이스에서 하나의 논리적인 작업 단위

 

여러 개의 DML 문장을 하나의 묶음으로 처리해서,
모두 성공하면 반영(COMMIT)하고 하나라도 실패하면 전부 되돌리는(ROLLBACK) 식으로 일관성 있게 처리

 

START TRANSACTION;

UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;

-- 문제가 없으면
COMMIT;

-- 문제가 생기면
ROLLBACK;

주요 명령어

  1. SELECT: 데이터를 조회할 때 사용
  2. INSERT: 데이터를 추가할 때 사용 (INSERT INTO ~ VALUES ~)
  3. UPDATE: 데이터를 수정할 때 사용 (UPDATE ~ SET ~ WHERE ~)
  4. DELETE: 데이터를 삭제할 때 사용 (DELETE FROM ~ WHERE ~)