DDL, DML, DCL : 데이터베이스 언어의 이해

Soozoo·2024년 7월 4일

데이터베이스(DB)

목록 보기
9/19

데이터베이스 관리 시스템(DBMS)에서 데이터를 정의하고 조작하며 제어하기 위해 사용되는 언어는 크게 세 가지로 분류됩니다. 이들은 데이터 정의 언어(DDL), 데이터 조작 언어(DML), 데이터 제어 언어(DCL)입니다. 각각의 역할과 기능을 이해하는 것은 데이터베이스 관리 및 활용에 매우 중요합니다.

1. 데이터 정의 언어 (DDL: Data Definition Language)

DDL은 데이터베이스 구조를 정의하는 데 사용되는 언어입니다. 데이터베이스의 스키마와 데이터베이스 객체(테이블, 인덱스, 뷰 등)를 생성, 수정, 삭제하는 명령어가 포함됩니다. 주요 DDL 명령어는 다음과 같습니다:

  • CREATE: 새로운 데이터베이스 객체를 생성합니다.
    CREATE TABLE Students (
        StudentID INT PRIMARY KEY,
        Name VARCHAR(100),
        Age INT
    );
    
  • ALTER: 기존 데이터베이스 객체를 수정합니다.
    ALTER TABLE Students
    ADD Email VARCHAR(100);
    
  • DROP: 데이터베이스 객체를 삭제합니다.
    DROP TABLE Students;
    
  • TRUNCATE: 테이블의 모든 데이터를 삭제하지만 구조는 유지합니다.
    TRUNCATE TABLE Students;
    

2. 데이터 조작 언어 (DML: Data Manipulation Language)

DML은 데이터베이스 내의 데이터를 조작하는 데 사용됩니다. 데이터를 삽입, 수정, 삭제, 조회하는 명령어가 포함됩니다. 주요 DML 명령어는 다음과 같습니다:

  • SELECT: 데이터를 조회합니다.
    SELECT * FROM Students;
    
  • INSERT: 새로운 데이터를 삽입합니다.
    INSERT INTO Students (StudentID, Name, Age)
    VALUES (1, 'John Doe', 20);
    
  • UPDATE: 기존 데이터를 수정합니다.
    UPDATE Students
    SET Age = 21
    WHERE StudentID = 1;
    
  • DELETE: 데이터를 삭제합니다.
    DELETE FROM Students
    WHERE StudentID = 1;
    

3. 데이터 제어 언어 (DCL: Data Control Language)

DCL은 데이터베이스에 대한 접근 권한을 제어하는 명령어입니다. 주로 사용자 권한을 부여하거나 회수하는 데 사용됩니다. 주요 DCL 명령어는 다음과 같습니다:

  • GRANT: 사용 권한을 부여합니다.
    GRANT SELECT, INSERT ON Students TO user_name;
    
  • REVOKE: 사용 권한을 회수합니다.
    REVOKE SELECT, INSERT ON Students FROM user_name;
profile
넙-죽

0개의 댓글