SQL을 처음 배우면 가장 헷갈리는 부분 중 하나가 명령어의 역할 구분이다.
같은 SQL이라도 어떤 명령어는 테이블을 만들고, 어떤 명령어는 데이터를 조회한다. 이 차이를 이해하려면 DDL과 DML로 나눠서 보는 것이 핵심이다.
SQL 명령어를 나누는 기준
SQL은 단순히 문법이 아니라 역할에 따라 분류되는 언어다.
DDL → 구조를 다룸
DML → 데이터를 다룸
이 기준만 잡으면 대부분의 SQL 명령어를 쉽게 이해할 수 있다.
DDL이란 무엇인가
DDL은 Data Definition Language의 줄임말이다.
말 그대로 데이터 구조를 정의하는 언어다.
즉,
- 테이블을 만들고
- 테이블 구조를 바꾸고
- 테이블 자체를 삭제하는 작업
이런 것들이 모두 DDL이다.
DDL 대표 명령어
CREATE (테이블 생성)
CREATE TABLE users (
id INT,
name VARCHAR(50),
email VARCHAR(100)
);
👉 새로운 테이블 구조를 만든다
ALTER (구조 변경)
ALTER TABLE users ADD age INT;
👉 기존 테이블 구조를 수정한다
DROP (테이블 삭제)
DROP TABLE users;
👉 테이블 자체를 삭제한다 (구조까지 사라짐)
TRUNCATE (데이터 전체 삭제)
TRUNCATE TABLE users;
👉 테이블은 유지하고 데이터만 전체 삭제
DML이란 무엇인가
DML은 Data Manipulation Language의 줄임말이다.
테이블 안에 들어있는 데이터를 조작하는 언어다.
즉,
- 데이터를 조회하고
- 데이터를 넣고
- 데이터를 수정하고
- 데이터를 삭제하는 작업
이런 것들이 DML이다.
DML 대표 명령어
SELECT (조회)
SELECT * FROM users;
👉 테이블에 저장된 데이터를 조회
INSERT (데이터 추가)
INSERT INTO users (id, name, email)
VALUES (1, '홍길동', 'hong@test.com');
👉 새로운 데이터를 추가
UPDATE (데이터 수정)
UPDATE users
SET name = '김철수'
WHERE id = 1;
👉 기존 데이터를 수정
DELETE (데이터 삭제)
DELETE FROM users
WHERE id = 1;
👉 특정 데이터를 삭제
DDL vs DML 차이 한 번에 정리
구분 DDL DML
| 의미 | 구조 정의 | 데이터 조작 |
| 대상 | 테이블, DB | 테이블 내부 데이터 |
| 예시 | CREATE, ALTER, DROP | SELECT, INSERT, UPDATE, DELETE |
DDL = 구조 (틀)
DML = 데이터 (내용)
UPDATE, DELETE에서 가장 중요한 포인트
이건 실전에서 반드시 기억해야 한다.
UPDATE users SET name = '김철수';
DELETE FROM users;
👉 둘 다 WHERE 없이 실행하면 전체 데이터에 적용된다
- UPDATE → 전체 데이터 수정
- DELETE → 전체 데이터 삭제
그래서 반드시 조건을 확인해야 한다.
UPDATE users SET name = '김철수' WHERE id = 1;
DELETE FROM users WHERE id = 1;
실전에서 이렇게 구분하면 편하다
작업할 때 이렇게 생각하면 빠르다.
- 테이블 만들기/삭제 → DDL
- 데이터 넣기/조회/수정/삭제 → DML
테이블 건드리면 DDL
데이터 건드리면 DML
DDL은 테이블 같은 구조를 정의하는 언어이고, DML은 그 안의 데이터를 조작하는 언어다.
'Data Analytics > SQL' 카테고리의 다른 글
| SQL CREATE TABLE 정리 | 데이터베이스와 테이블 생성 기본 문법 (0) | 2026.05.15 |
|---|---|
| DROP, DELETE, TRUNCATE 차이 정리 | 데이터 삭제 명령어 구분하기 (0) | 2026.05.15 |
| RDBMS란 무엇인가 | Table과 관계로 데이터를 관리하는 방식 (1) | 2026.05.14 |
| DB와 DBMS 차이 정리 | 데이터베이스를 처음 배울 때 헷갈리는 개념 (0) | 2026.05.14 |
| Mac에서 MySQL 설치하기 | Community Server와 Workbench 세팅 정리 (0) | 2026.05.14 |
