CS/DB

SQL의 세 가지 주요 역할 : DDL, DML, DCL

rlatotquf45 2025. 1. 5. 22:07
728x90
반응형

DDL, DML, DCL

소개

SQL의 세 가지 주요 역할인 DDL, DML, DCL에 대해 설명 후 각각의 주요 명령어를 기록하겠습니다.

목차

1. 주제 개요

DDL (Data Definition Langauge) : 데이터베이스의 구조를 정의하고 관리하기 위한 명령어.

주요 명령어

  • CREATE : 데이터베이스 객체(테이블, 뷰, 인덱스 등)를 생성.
CREATE TABLE employees(
	id NUMBER PRIMARY KEY,
    name VARCHAR2(100),
    salary NUMBER
);
  • ALTER : 기존 객체의 구조 변경.
ALTER TABLE employees ADD COLUMN department_id NUMBER;

employees 테이블에 NUMBER 변수형을 지닌 department_id 컬럼 추가.

  • DROP : 객체 삭제.
DROP TABLE employees;
  • TRUNCATE : 테이블의 모든 데이터를 삭제하지만 테이블 구조는 유지.
TRUNCATE TABLE employees;

 

특징

  • 테이블, 인덱스, 뷰와 같은 객체를 생성하거나 제거.
  • 데이터 변경이 아니라 구조 변경에 사용
  • 대부분의 명령이 자동으로 COMMIT됨. 

 

DML (Data Manipulation Language) : 데이터베이스의 데이터를 조작하는 명령어

주요 명령어

  • SELECT : 데이터를 조회.
SELECT * FROM employees WHERE salary > 3000;

> employees 테이블에서 salary 컬럼 값이 3000 초과인 데이터의 모든 값 조회

  • INSERT : 데이터를 삽입.
INSERT INTO employees (id, name, salary) VALUES (1, 'Alice', 5000);

> employees 테이블에 (id, name, salary) 값을 각각 1, 'Alice', 5000할당한 데이터를 삽입

  • UPDATE : 데이터 수정
UPDATE employees SET salary = 6000 WHERE id = 1;

> employees 테이블에서 id가 1인 행의 salary 값을 6000으로 수정

  • DELETE : 데이터 삭제
DELETE FROM employees WHERE id = 1;

> employees 테이블에서 id가 1인 데이터 삭제.

 

특징

  • 데이터를 실제로 추가, 조회, 수정, 삭제.
  • 작업은 명시적으로 COMMIT 되기 전까지 데이터베이스에 저장되지 않음.

DCL (Data Control Language) : 데이터베이스의 보안과 접근 권한을 관리하는 명령어

주요 명령어

  • GRANT : 사용자에게 권한 부여
GRANT SELECT, INSERT ON employees TO user1;

> user1 사용자에게 employees 테이블에 대한 SELECT, INSERT 권한을 부여함.

  • REVOKE : 사용자 권한 회수.
REVOKE INSERT ON employees FROM user1;

> user1 사용자로부터 employees 테이블에 대한 INSERT 권한 회수.

728x90
반응형