데이터베이스 관리 시스템(DBMS)에서 사용되는 SQL 언어는 크게 세 가지 주요 범주로 나눌 수 있습니다: 데이터 정의 언어(DDL), 데이터 조작 언어(DML), 그리고 데이터 제어 언어(DCL)입니다. 각각의 범주는 데이터베이스와의 상호작용에 사용되는 SQL 명령어를 정의하며, 이 글에서는 DDL, DML, DCL의 개념과 각 범주에 포함된 명령어들을 자세히 설명하겠습니다.
목차
데이터 정의 언어(DCL)
- DDL의 개념
- 주요 DDL 명령어
CREATE
ALTER
DROP
TRUNCATE
- DDL 사용 예제
데이터 조작 언어(DML)
- DML의 개념
- 주요 DML 명령어
SELECT
INSERT
UPDATE
DELETE
- DML 사용 예제
데이터 제어 언어(DCL)
- DCL의 개념
- 주요 DCL 명령어
GRANT
REVOKE
- DCL 사용 예제
결론
1. 데이터 정의 언어(DDL)
DDL의 개념
데이터 정의 언어(Data Definition Language, DDL)는 데이터베이스 구조를 정의하는 데 사용되는 SQL의 하위 집합입니다. DDL 명령어는 데이터베이스, 테이블, 인덱스와 같은 데이터베이스 개체를 생성, 수정 또는 삭제하는 데 사용됩니다. DDL 명령어를 실행하면 데이터베이스에 대한 구조적 변경이 발생하며, 이러한 변경은 일반적으로 자동으로 커밋됩니다.
주요 DDL 명령어
CREATE
: 새로운 데이터베이스 개체(예: 데이터베이스, 테이블, 인덱스 등)를 생성합니다.CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(100), age INT );
ALTER
: 기존의 데이터베이스 개체를 수정합니다. 예를 들어, 테이블에 새로운 열을 추가하거나 기존 열의 속성을 변경할 수 있습니다.ALTER TABLE students ADD COLUMN grade CHAR(1);
DROP
: 데이터베이스 개체를 삭제합니다. 삭제된 개체는 복구할 수 없습니다.DROP TABLE students;
TRUNCATE
: 테이블의 모든 데이터를 삭제하지만 테이블의 구조는 유지합니다.TRUNCATE TABLE students;
DDL 사용 예제
아래 예제는 CREATE
와 ALTER
명령어를 사용하여 새로운 테이블을 생성하고, 그 후에 테이블에 새로운 열을 추가하는 방법을 보여줍니다.
CREATE TABLE employees (
emp_id INT PRIMARY KEY,
emp_name VARCHAR(100),
emp_salary DECIMAL(10, 2)
);
ALTER TABLE employees ADD COLUMN emp_department VARCHAR(50);
2. 데이터 조작 언어(DML)
DML의 개념
데이터 조작 언어(Data Manipulation Language, DML)는 데이터베이스에서 데이터를 조회하거나 삽입, 수정, 삭제하는 데 사용되는 SQL 명령어를 포함합니다. DML 명령어는 주로 데이터베이스 내의 데이터를 처리하는 데 사용되며, 데이터베이스의 구조를 변경하지는 않습니다.
주요 DML 명령어
SELECT
: 데이터베이스에서 데이터를 조회합니다.SELECT * FROM employees;
INSERT
: 새로운 데이터를 테이블에 삽입합니다.INSERT INTO employees (emp_id, emp_name, emp_salary) VALUES (1, 'John Doe', 50000);
UPDATE
: 기존 데이터를 수정합니다.UPDATE employees SET emp_salary = 55000 WHERE emp_id = 1;
DELETE
: 테이블에서 데이터를 삭제합니다.DELETE FROM employees WHERE emp_id = 1;
DML 사용 예제
아래 예제는 INSERT
와 SELECT
명령어를 사용하여 데이터를 삽입하고 조회하는 방법을 보여줍니다.
INSERT INTO employees (emp_id, emp_name, emp_salary, emp_department)
VALUES (2, 'Jane Smith', 60000, 'Marketing');
SELECT * FROM employees WHERE emp_department = 'Marketing';
3. 데이터 제어 언어(DCL)
DCL의 개념
데이터 제어 언어(Data Control Language, DCL)는 데이터베이스에 대한 액세스 권한을 관리하는 SQL 명령어를 포함합니다. DCL 명령어는 사용자의 데이터베이스 개체에 대한 권한을 부여하거나 취소하는 데 사용됩니다.
주요 DCL 명령어
GRANT
: 사용자가 특정 데이터베이스 개체에 대해 특정 작업을 수행할 수 있는 권한을 부여합니다.GRANT SELECT, INSERT ON employees TO user_name;
REVOKE
: 사용자가 특정 데이터베이스 개체에 대해 부여받은 권한을 취소합니다.REVOKE INSERT ON employees FROM user_name;
DCL 사용 예제
아래 예제는 GRANT
와 REVOKE
명령어를 사용하여 사용자의 권한을 관리하는 방법을 보여줍니다.
GRANT SELECT, UPDATE ON employees TO 'user1';
REVOKE UPDATE ON employees FROM 'user1';
4. 결론
DDL, DML, DCL은 각각 데이터베이스의 구조를 정의하고, 데이터를 조작하며, 데이터에 대한 액세스 권한을 제어하는 중요한 SQL 명령어 집합입니다. 데이터베이스를 효과적으로 관리하고 운영하기 위해서는 각 언어의 개념과 사용법을 잘 이해하는 것이 중요합니다. 이 글에서 설명한 내용을 통해 DDL, DML, DCL에 대한 기본적인 이해를 돕고, 실제로 데이터베이스를 관리할 때 이러한 명령어들을 활용할 수 있도록 도움이 되었길 바랍니다.
'개발공부' 카테고리의 다른 글
http와 https의 차이점 (1) | 2024.09.25 |
---|---|
JWT, Refresh Token, Access Token 이란? (0) | 2024.09.10 |
정렬 알고리즘이란? (2) | 2023.11.30 |
프로세스와 쓰레드 (2) | 2023.11.25 |
HTTP 요청 메서드 (0) | 2023.08.24 |