데이터베이스 언어 (DDL, DML, DCL)

반응형
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

'정보처리기사 > sql응용' 카테고리의 다른 글

트리거  (1) 2024.10.20