| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
Tags
- TS
- 문서번호
- Props
- font-size
- npm
- 0.5px border
- angular
- ZOOM
- 컴포넌튼
- github
- jwt
- Websocket
- 1px border
- 클론코딩
- entity
- Strict
- 10px
- 타입스크립트
- 전역변수
- 당근마켓
- 0.75px border
- 으
- ES5
- literal
- TypeScript
- 서버리스 #
- 데이터베이스 #try #이중
- &연산
- 0.25px border
- es6
Archives
- Today
- Total
복잡한뇌구조마냥
[SQL] 명령어 분류 - DDL / DML / DCL / TCL 본문
SQL(Structured Query Language)은 데이터베이스를 정의(Define), 조작(Manipulate), 제어(Control) 하는 데 사용되는 언어입니다.
크게 아래 4가지로 분류됩니다 👇
📘 1. DDL (Data Definition Language) — 데이터 정의어
데이터베이스의 구조(스키마) 를 정의하거나 변경할 때 사용합니다.
| 명령어 | 설명 | 예시 |
| CREATE | 데이터베이스, 테이블, 뷰 등을 생성 | CREATE TABLE users (id INT, name VARCHAR(50)); |
| ALTER | 테이블 구조 변경 (컬럼 추가/삭제 등) | ALTER TABLE users ADD email VARCHAR(100); |
| DROP | 데이터베이스나 테이블 삭제 | DROP TABLE users; |
| TRUNCATE | 테이블의 모든 데이터를 삭제 (구조는 유지) | TRUNCATE TABLE users; |
특징
- 자동 커밋(Commit)됨 → ROLLBACK 불가
- 구조 자체를 다룸 (데이터 X)
📗 2. DML (Data Manipulation Language) — 데이터 조작어
테이블 내 데이터 를 조회·추가·수정·삭제하는 데 사용합니다.
| 명령어 | 설명 | 예시 |
| SELECT | 데이터 조회 | SELECT * FROM users WHERE id = 1; |
| INSERT | 데이터 추가 | INSERT INTO users (id, name) VALUES (1, '동엽'); |
| UPDATE | 데이터 수정 | UPDATE users SET name = '요삐' WHERE id = 1; |
| DELETE | 데이터 삭제 | DELETE FROM users WHERE id = 1; |
특징
- 트랜잭션(Commit / Rollback) 가능
- 실제 데이터에 영향을 미침
📙 3. DCL (Data Control Language) — 데이터 제어어
데이터베이스 접근 권한을 부여하거나 회수할 때 사용합니다.
| 명령어 | 설명 | 예시 |
| GRANT | 권한 부여 | GRANT SELECT, INSERT ON users TO 'kim'@'localhost'; |
| REVOKE | 권한 회수 | REVOKE INSERT ON users FROM 'kim'@'localhost'; |
특징
- 보안 및 접근 제어를 담당
- 사용자 단위로 접근 권한 설정 가능
📒 4. TCL (Transaction Control Language) — 트랜잭션 제어어
여러 DML 작업을 하나의 트랜잭션 단위로 묶어 관리합니다.
| 명령어 | 설명 | 예시 |
| COMMIT | 변경사항 확정 | COMMIT; |
| ROLLBACK | 이전 상태로 되돌림 | ROLLBACK; |
| SAVEPOINT | 중간 저장점 설정 | SAVEPOINT sp1; / ROLLBACK TO sp1; |
특징
- 주로 DML 명령어와 함께 사용
- 데이터 무결성을 보장하기 위해 필수적
✅ 한눈에 정리
| 분류 | 의미 | 주요 명령어 | 특징 |
| DDL | 데이터 구조 정의 | CREATE, ALTER, DROP, TRUNCATE | 자동 커밋, ROLLBACK 불가 |
| DML | 데이터 조작 | SELECT, INSERT, UPDATE, DELETE | 트랜잭션 가능 |
| DCL | 권한 제어 | GRANT, REVOKE | 접근 제어 담당 |
| TCL | 트랜잭션 제어 | COMMIT, ROLLBACK, SAVEPOINT | 데이터 무결성 보장 |
LIST
'BE > DB' 카테고리의 다른 글
| [DB] 트랜잭션(Transaction)과 ACID 특성 정리 (0) | 2025.10.29 |
|---|---|
| [DB] Supabase 기본 세팅 (1) | 2025.07.14 |
| [DB] ERD Cloud 사용법 (1) | 2025.07.11 |
| [MariaDB] SQL 명령어 연습 (0) | 2025.05.27 |
| [MariaDB] 설치 및 실행 (0) | 2025.05.27 |
