반응형
SMALL
데이터베이스 언어 (DDL, DML, DCL)
데이터베이스 관리 시스템(DBMS)에서 데이터를 정의하고, 조작하고, 제어하기 위해 세 가지 주요 언어가 사용됩니다: DDL (Data Definition Language), DML (Data Manipulation Language), DCL (Data Control Language). 각 언어는 데이터베이스 내의 다양한 작업을 수행하며, 각각의 역할과 명령어는 다음과 같습니다.
1. DDL (Data Definition Language) - 데이터 정의 언어
DDL은 데이터베이스 구조(스키마)를 정의하거나 변경하는 언어입니다. 즉, 데이터베이스 테이블, 인덱스, 제약 조건 등의 구조적 요소를 생성, 수정, 삭제하는 데 사용됩니다.
대표적인 DDL 명령어:
- CREATE: 새로운 데이터베이스 객체(테이블, 인덱스, 뷰 등)를 생성합니다.
- 학생 정보를 저장할 테이블을 생성하는 명령어입니다.
CREATE TABLE Students (
StudentID INT PRIMARY KEY,
Name VARCHAR(100),
Age INT
);
- ALTER: 기존의 데이터베이스 객체를 수정합니다.
- 기존 Students 테이블에 Address라는 컬럼을 추가합니다.
ALTER TABLE Students ADD COLUMN Address VARCHAR(200);
- DROP: 데이터베이스 객체를 삭제합니다.
- Students 테이블을 삭제합니다.
DROP TABLE Students
- TRUNCATE: 테이블의 모든 데이터를 비우되 테이블 구조는 유지합니다.
- Students 테이블의 데이터를 모두 삭제합니다(테이블은 남아있음).
TRUNCATE TABLE Students;
2. DML (Data Manipulation Language) - 데이터 조작 언어
DML은 데이터베이스에서 데이터를 조회, 삽입, 수정, 삭제하는 작업을 수행하는 언어입니다. 즉, 데이터베이스 내의 데이터를 다루는 데 사용됩니다.
대표적인 DML 명령어:
- SELECT: 데이터베이스에서 데이터를 조회하는 명령어입니다.
- Age가 20보다 큰 학생들의 정보를 조회합니다.
SELECT * FROM Students WHERE Age>20;
- INSERT: 테이블에 새로운 데이터를 삽입합니다.
- Students 테이블에 새로운 학생 데이터를 삽입합니다.
INSERT INTO Students (StudnetID,NAME,Age) VALUES (1,'John',22);
- UPDATE: 기존 데이터의 값을 수정합니다.
- StudentID가 1인 학생의 Age를 23으로 수정합니다.
UPDATE Students SET Age=23 WHERE StudnetID=1;
- DELETE: 테이블에서 데이터를 삭제합니다.
- StudentID가 1인 학생의 데이터를 삭제합니다.
DELETE FROM Students WHERE StudentID = 1;
3. DCL (Data Control Language) - 데이터 제어 언어
DCL은 데이터베이스에 대한 사용자 권한을 부여하거나 취소하는 명령어입니다. 즉, 데이터베이스의 보안과 접근 권한을 관리하는 역할을 합니다.
대표적인 DCL 명령어:
- GRANT: 사용자에게 권한을 부여합니다.
- user1 에게 Students 테이블에 대한 SELECT(조회)와 INSERT(삽입) 권한을 부여합니다.
GRANT SELECT, INSERT ON Students TO 'user1';
- REVOKE: 사용자에게 부여된 권한을 취소합니다.
- user1에게 부여된 Students 테이블의 SELECT 권한을 취소합니다.
REVOKE SELECT ON Students FROM 'user1';
반응형
LIST