DDL, DML, DCL은 데이터베이스 관리 시스템(DBMS)에서 데이터를 정의, 조작, 제어하는 데 사용되는 SQL 명령어 그룹이다. SQLD를 공부하면서 익힌 내용이긴 한데, 단순 암기로만 외워서 머리에 확실히 들어오지 않아 예시와 함께 제대로 이해하고자 포스팅 한다.
1. DDL (Data Definition Language) - 데이터 정의어
: 데이터 전체의 골격을 결정하는 역할이다. 데이터베이스의 구조를 정의하거나 변경한다. 예를 들어 테이블을 생성하거나 변경, 삭제하는 작업이 포함된다.
주요 명령어:
create: 새로운 데이터베이스, 테이블, 인덱스 생성
alter : 테이블, 인덱스 수정
drop : 데이터베이스, 테이블, 인덱스 삭제
truncate : 테이블 초기화
DDL 사용 예시:
-- 테이블 생성
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
FirstName VARCHAR(50),
LastName VARCHAR(50),
BirthDate DATE
);
-- 테이블에 열 추가
ALTER TABLE Employees ADD Email VARCHAR(100);
-- 테이블 삭제
DROP TABLE Employees;
2. DML (Data Manipulation Language) - 데이터 조작어
: 데이터베이스 내의 데이터(레코드)를 조회, 삽입, 수정, 삭제하는 데 사용된다.
주요 명령어:
select : 데이터 조회
insert : 데이터 삽입
update : 데이터 수정
delete : 데이터 삭제
DML 사용 예시:
-- 데이터 삽입
INSERT INTO Employees (EmployeeID, FirstName, LastName, BirthDate)
VALUES (1, 'Jeff', 'Kim', '1995-08-21');
-- 데이터 조회
SELECT * FROM Employees WHERE EmployeeID = 1;
-- 데이터 수정
UPDATE Employees
SET Email = 'aop8021@gmail.com'
WHERE EmployeeID = 1;
-- 데이터 삭제
DELETE FROM Employees WHERE EmployeeID = 1;
3. DCL (Data Control Language) - 데이터 제어어
: 데이터베이스에 대한 접근 권한을 제어하는 데 사용된다.
주요 명령어:
grant : 사용자에게 특정 작업에 대한 수행 권한을 부여
revoke : 사용자에게 특정 작업에 대한 수행 권한을 취소
commit : 트랜잭션의 작업을 저장
rollback : 트랜잭션의 작업을 취소, 원래대로 복구
DCL 사용 예시:
-- 사용자에게 테이블에 대한 SELECT 권한 부여
GRANT SELECT ON Employees TO user1;
-- 사용자로부터 테이블에 대한 SELECT 권한 취소
REVOKE SELECT ON Employees FROM user1;
암기방법:
DDL: DB 자체를 움직이는 작업, 사용 빈도 적은 영단어들(create, alter, drop, truncate)
DML: DB 안에 자잘한 데이터 조작하는 작업, 사용 빈도 높은 영단어들(select, insert, drop, delete)
DCL: 권한이나 그런 뭔가 묵직묵직한 것들(grant, revoke, commit, rollback)
암기방법은 내맘대로....ㅎ
JSON 직렬화(Serialization) / 역직렬화(Deserialization) (0) | 2024.07.12 |
---|---|
[인터넷 프로토콜] IPv4와 IPv6 (0) | 2024.07.04 |
UML(Unified Modeling Language) 다이어그램 (0) | 2024.07.01 |
[자료구조] 스택(Stack), 큐(Queue), 힙(Heap) (0) | 2024.05.13 |
[개발 방법론] 폭포수(Waterfall) 방법론 vs 애자일(Agile) 방법론 (0) | 2024.05.09 |