데이터베이스를 다룰 때 우리는 다양한 작업을 수행하게 된다. 데이터베이스 작업은 크게 데이터 정의, 데이터 제어, 데이터 조작으로 나눌 수 있다. 이를 각각 DDL(Data Definition Language), DCL(Data Control Language), DML(Data Manipulation Language) 라고 부른다. 이번 글에서는 이 세 가지 데이터베이스 언어에 대해 다루려고 한다.
DDL 은 데이터베이스 구조를 정의하거나 수정하는 데 사용되는 언어이다. 테이블, 인덱스, 뷰 등의 데이터베이스 객체를 생성, 수정, 삭제하는 명령어들이 포함된다. 주요 명령어는 다음과 같다.
예를 들어, 새로운 테이블을 생성할 때는 다음과 같은 SQL 문을 사용한다.
CREATE TABLE Students (
StudentID INT PRIMARY KEY,
Name VARCHAR(100),
Age INT,
Major VARCHAR(100)
);
이처럼 DDL 을 통해 데이터베이스의 구조를 정의하고 관리할 수 있다.
DCL 은 데이터베이스에 대한 접근을 제어하는 데 사용되는 언어이다. 사용자의 권한을 설정하거나 해제하는 명령어들이 포함된다. 주요 명령어는 다음과 같다.
예를 들어, 특정 사용자에게 테이블에 대한 읽기 권한을 부여할 때는 다음과 같은 SQL 문을 사용한다.
GRANT SELECT ON Students TO User1;
반대로, 권한을 회수할 때는 다음과 같은 SQL 문을 사용한다.
REVOKE SELECT ON Students FROM User1;
이처럼 DCL을 통해 데이터베이스의 보안을 강화하고 사용자 접근을 관리할 수 있다.
DML 은 데이터베이스 내의 데이터를 조작하는 데 사용되는 언어이다. 데이터를 삽입, 수정, 삭제, 조회하는 명령어들이 포함된다. 주요 명령어는 다음과 같다.
예를 들어, 새로운 학생 정보를 삽입할 때는 다음과 같은 SQL 문을 사용한다.
INSERT INTO Students (StudentID, Name, Age, Major) VALUES (1, 'John Doe', 20, 'Computer Science');
기존 학생 정보를 수정할 때는 다음과 같은 SQL 문을 사용한다.
UPDATE Students SET Age = 21 WHERE StudentID = 1;
학생 정보를 삭제할 때는 다음과 같은 SQL 문을 사용한다.
DELETE FROM Students WHERE StudentID = 1;
학생 정보를 조회할 때는 다음과 같은 SQL 문을 사용한다.
SELECT * FROM Students WHERE Major = 'Computer Science';
이처럼 DML 을 통해 데이터베이스 내의 데이터를 효율적으로 관리할 수 있다.
DDL, DCL, DML 각각의 언어는 데이터베이스를 효율적으로 관리하고 운영하는 데 필수적이다. 데이터베이스 작업을 수행할 때 이 세 가지 언어의 차이점과 용도를 명확히 이해하고 사용하는 것이 중요하다. 이를 통해 데이터베이스를 더욱 효과적으로 관리하고, 안정적이고 신뢰성 있는 시스템을 구축할 수 있을 것이라 생각한다.