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