
안녕하세요. 오늘은 SQL 구성 요소에 대해 알아볼게요.
SQL은 DBMS에서 실행할 수 있는 명령의 종류에 따라
DDL, DML, DCL 세 가지로 분류하는데요.
각각 어디에 사용하고 어떤 것이 있는지 알아볼까요?
1. DDL (Data Defonition Language)
DDL은 데이터 정의 언어로
데이터베이스 스키마와 구조를 정의하는 데 사용해요.
DDL의 대표적인 명령어는
CREATE(생성), ALTER(수정), DROP(삭제), TRUNCATE(데이터 삭제)가 있어요.
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
2. DML (Data Manipulation Language)
DML은 데이터 조작 언어로
테이블에 데이터를 검색, 등록, 수정, 삭제하는 데 사용해요.
DML의 대표적인 명령어는
SELECT(선택), INSERT(추가), UPDATE(수정), DELETE(삭제)가 있어요.
SELECT * FROM users WHERE age > 20;
INSERT INTO users (id, name, age) VALUES (1, 'Alice', 30);
3. DCL (Date Control Language)
DCL은 데이터 제어 언어로
데이터베이스에 사용자 권한을 관리하는 데 사용해요.
DCL의 대표적인 명령어는
GRANT(승인하다), REVOKE(취소하다)가 있어요.
GRANT SELECT, INSERT ON users TO user123;
REVOKE INSERT ON users FROM user123;
세 가지의 구성요소를 배웠는데요.
추가적으로 다른 한 가지의 구성요소가 있는데
바로TCL입니다.
+) TCL (Transaction Controller Language)
TCL은 트랜잭션(논리적인 작업 단위)의 처리 제어로
주로 DML 명령어와 함께 사용해요.
DCL의 대표적인 명령어는
COMMIT(변경 내용 영구 저장), ROLLBACK(변경 내용 취소), SAVEPOINT(트랜잭션 내 중간 저장 지점 설정)가 있어요.
BEGIN;
UPDATE users SET age = age + 1;
COMMIT;
TCL을 나중에 설명드린 이유는 DML과 밀접한 관계를 가져
부속 역할이라 볼 수 있기 때문에 별도로 구분했어요.
여기까지 SQL의 구성요소들을 간단하게 표로 정리해 봤어요.
| DDL | Data Definition Language | CREATE, ALTER, DROP, TRUNCATE | 테이블 및 DB 구조 정의 |
| DML | Data Manipulation Language | SELECT, INSERT, UPDATE, DELETE | 데이터 조회 및 조작 |
| DCL | Data Control Language | GRANT, REVOKE | 권한 부여 및 회수 |
| TCL | Transaction Control Language | COMMIT, ROLLBACK, SAVEPOINT | 트랜잭션 처리 제어 |

여기까지 SQL의 구성요소들을 알아봤는데요.
SQL의 구성요소는 DB를 효율적이고 안전하게 설계를 위해서
꼭 한 번씩은 알아봤으면 좋겠어요.
'Backend > MySQL' 카테고리의 다른 글
| SQL - Unique (1) | 2025.08.27 |
|---|---|
| SQL - Subquery (5) | 2025.08.10 |
| SQL - Select (6) | 2025.08.09 |
| SQL 제약조건 (8) | 2025.08.07 |
| SQL의 무결성 (4) | 2025.08.05 |