
📌 DML과 DDL의 차이점: SQL 필수 개념 완벽 정리!
SQL의 핵심 개념인 DML과 DDL을 완벽하게 이해하고 싶다면?
데이터 조작과 데이터 정의의 차이를 정확히 설명합니다.
✅ 1. DML과 DDL이란?
SQL(Structured Query Language)은 데이터베이스 관리를 위한 언어이며, DML(Data Manipulation Language, 데이터 조작 언어)과 DDL(Data Definition Language, 데이터 정의 언어)로 나뉩니다.
DML(Data Manipulation Language) - 데이터 조작 언어
DML은 데이터베이스에 저장된 데이터를 조회, 삽입, 수정, 삭제하는 명령어입니다.
즉, 사용자가 데이터를 조작(변경)하는 기능을 담당합니다.
★ DML 주요 명령어
SELECT | 데이터를 조회 |
INSERT | 새로운 데이터 삽입 |
UPDATE | 기존 데이터 수정 |
DELETE | 기존 데이터 삭제 |
DDL(Data Definition Language) - 데이터 정의 언어
DDL은 데이터베이스 구조(테이블, 뷰, 인덱스 등)를 생성, 수정, 삭제하는 명령어입니다.
즉, 데이터의 저장 구조를 정의하는 역할을 합니다.
★ DDL 주요 명령어
CREATE | 새로운 테이블, 뷰, 인덱스 생성 |
ALTER | 기존 테이블 또는 컬럼 수정 |
DROP | 테이블, 뷰, 인덱스 삭제 |
TRUNCATE | 테이블의 모든 데이터 삭제 (테이블 구조는 유지) |
✅ 2. DML과 DDL의 차이점
구분 DML (데이터 조작 언어) DDL (데이터 정의 언어)
역할 | 데이터를 조회, 삽입, 수정, 삭제 | 데이터베이스 객체(테이블, 인덱스 등) 생성/변경 |
주요 명령어 | SELECT, INSERT, UPDATE, DELETE | CREATE, ALTER, DROP, TRUNCATE |
데이터 변경 여부 | ✅ 데이터 값 변경 | ❌ 데이터 구조 변경 |
트랜잭션 지원 | ✅ 가능 (COMMIT, ROLLBACK 가능) | ❌ 불가능 |
ROLLBACK 지원 | ✅ 가능 | ❌ 불가능 |
실행 대상 | 테이블 내부의 데이터 | 테이블 및 데이터베이스 구조 |
📌 핵심 요약
- DML: 데이터를 조회, 추가, 수정, 삭제하는 명령어
- DDL: 데이터베이스 구조(테이블, 인덱스 등)를 정의하는 명령어
- DML은 트랜잭션(ROLLBACK, COMMIT) 지원, DDL은 지원하지 않음.
✅ 3. DML과 DDL 예제
📌 DML 예제 (데이터 조작)
-- 1. 데이터 조회 (SELECT)
SELECT * FROM Employees WHERE Age > 30;
-- 2. 데이터 삽입 (INSERT)
INSERT INTO Employees (EmployeeID, Name, Age, Department)
VALUES (1, '김철수', 35, 'HR');
-- 3. 데이터 수정 (UPDATE)
UPDATE Employees
SET Age = 36
WHERE EmployeeID = 1;
-- 4. 데이터 삭제 (DELETE)
DELETE FROM Employees WHERE EmployeeID = 1;
📌 DML 특징
- 데이터를 추가(INSERT), 수정(UPDATE), 삭제(DELETE) 가능
- SELECT 문을 통해 데이터 조회 가능
- 트랜잭션을 사용할 수 있어 ROLLBACK 가능
📌 DDL 예제 (데이터 정의)
-- 1. 테이블 생성 (CREATE)
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
Name VARCHAR(50),
Age INT,
Department VARCHAR(50)
);
-- 2. 테이블 수정 (ALTER)
ALTER TABLE Employees ADD Salary DECIMAL(10,2);
-- 3. 테이블 삭제 (DROP)
DROP TABLE Employees;
-- 4. 데이터만 삭제 (TRUNCATE)
TRUNCATE TABLE Employees;
📌 DDL 특징
- 테이블, 뷰, 인덱스 등 데이터베이스 객체를 생성(CREATE), 변경(ALTER), 삭제(DROP)
- TRUNCATE는 데이터를 삭제하지만 테이블 구조는 유지
- DDL 명령어는 ROLLBACK이 불가능 (실행 즉시 적용됨)
✅ 4. DML과 DDL을 함께 사용하는 실전 예제
-- 1. 테이블 생성 (DDL)
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
Name VARCHAR(50),
Age INT,
Department VARCHAR(50)
);
-- 2. 데이터 삽입 (DML)
INSERT INTO Employees (EmployeeID, Name, Age, Department)
VALUES (1, '이영희', 29, 'Marketing');
-- 3. 데이터 조회 (DML)
SELECT * FROM Employees;
-- 4. 테이블 구조 변경 (DDL)
ALTER TABLE Employees ADD Salary DECIMAL(10,2);
-- 5. 데이터 수정 (DML)
UPDATE Employees
SET Salary = 5000.00
WHERE EmployeeID = 1;
-- 6. 데이터 삭제 (DML)
DELETE FROM Employees WHERE EmployeeID = 1;
-- 7. 테이블 삭제 (DDL)
DROP TABLE Employees;
📌 이 예제에서...
- CREATE TABLE, ALTER TABLE, DROP TABLE은 DDL
- INSERT, UPDATE, DELETE, SELECT는 DML
✅ 5. DML과 DDL의 관련 키워드
- DML과 DDL 차이점
- SQL DML 예제
- SQL DDL 예제
- DML과 DDL 비교
- SQL 데이터 조작 언어
- SQL 데이터 정의 언어
- DML과 DDL을 함께 사용하는 방법
- SQL 기본 문법
- DDL과 DML의 차이점
📌 이 글을 검색하는 사람들은?
✅ SQL을 처음 배우는 개발자
✅ DBA(데이터베이스 관리자)
✅ SQL 인터뷰 질문을 준비하는 사람
✅ MySQL, PostgreSQL, MSSQL, Oracle 등의 DBMS 사용자
🚀 결론
✔ DML은 데이터 조작 (INSERT, UPDATE, DELETE, SELECT)을 담당
✔ DDL은 데이터 정의 (CREATE, ALTER, DROP, TRUNCATE)을 담당
✔ DML은 트랜잭션 지원 (ROLLBACK, COMMIT 가능)
✔ DDL은 실행 즉시 적용되며 ROLLBACK이 불가능
✔ SQL을 효율적으로 사용하려면 DML과 DDL의 차이를 이해하는 것이 필수
📌 DML과 DDL의 차이를 확실히 이해했다면, 실전에서 활용해 보세요!
'IT' 카테고리의 다른 글
C# DataTable을 객체 리스트(List)로 변환하는 최적의 방법 (0) | 2025.03.17 |
---|---|
포스트모템(Postmortem)이란 무엇인가? (0) | 2025.03.10 |
PowerShell로 파일 복사 및 덮어쓰기 방법 | 간단한 명령어 정리 (0) | 2025.03.04 |
Python Streamlit을 활용한 Parquet 파일 데이터 시각화와 필터링 기능 구현 (1) | 2024.12.05 |
8진수를 16진수로 변환하는 방법: 10진수 및 2진수를 거치는 방법 (0) | 2024.10.21 |