티스토리 뷰

데이터베이스를 다루는 데 있어 중요한 세 가지 분류인 DDL (Data Definition Language), DML (Data Manipulation Language), **DCL (Data Control Language)**에 대해 알아보겠습니다.
1️⃣ DDL: 데이터 정의 언어
DDL은 데이터베이스의 구조를 정의하거나 변경할 때 사용하는 언어입니다.
주요 명령어:
- CREATE: 새로운 데이터베이스 객체(테이블, 인덱스 등)를 생성
- ALTER: 기존 객체의 구조를 변경
- DROP: 객체를 삭제
- TRUNCATE: 테이블의 데이터를 초기화
예시
-- 테이블 생성
CREATE TABLE Employees (
EmployeeID NUMBER PRIMARY KEY,
Name VARCHAR2(50),
Position VARCHAR2(30),
Salary NUMBER(10, 2)
);
-- 컬럼 추가
ALTER TABLE Employees ADD HireDate DATE;
-- 테이블 삭제
DROP TABLE Employees;
2️⃣ DML: 데이터 조작 언어
DML은 데이터베이스 안의 데이터를 조작하는 데 사용됩니다. 데이터를 조회, 삽입, 수정, 삭제할 수 있습니다.
주요 명령어:
- SELECT: 데이터를 조회
- INSERT: 데이터를 삽입
- UPDATE: 데이터를 수정
- DELETE: 데이터를 삭제
예시
-- 데이터 삽입
INSERT INTO Employees (EmployeeID, Name, Position, Salary)
VALUES (1, 'Kim', 'Manager', 7500.00);
-- 데이터 조회
SELECT * FROM Employees;
-- 데이터 수정
UPDATE Employees
SET Salary = 8000.00
WHERE EmployeeID = 1;
-- 데이터 삭제
DELETE FROM Employees
WHERE EmployeeID = 1;
3️⃣ DCL: 데이터 제어 언어
DCL은 데이터베이스에 대한 접근 권한을 제어하는 데 사용됩니다. 보안과 관련이 깊습니다.
주요 명령어:
- GRANT: 사용 권한 부여
- REVOKE: 사용 권한 회수
예시
-- 권한 부여
GRANT SELECT, INSERT ON Employees TO User1;
-- 권한 회수
REVOKE INSERT ON Employees FROM User1;
정리
분류 | 설명 | 주요 명령어 |
DDL | 데이터베이스 구조 정의 및 변경 | CREATE, ALTER, DROP, TRUNCATE |
DML | 데이터 조작 | SELECT, INSERT, UPDATE, DELETE |
DCL | 권한 제어 | GRANT, REVOKE |

'DataBase' 카테고리의 다른 글
트랜잭션 격리 수준(Transaction Isolation Level) (0) | 2025.01.20 |
---|---|
데이터베이스(DB) 정규화와 비정규화 (1) | 2025.01.16 |
데이터베이스(DB) 트랜잭션(ACID) (0) | 2024.12.31 |
데이터베이스(DB) Lock (1) | 2024.12.26 |
데이터베이스(DB) 옵티마이저 란? (0) | 2024.12.04 |