hanker

[DATABASE] DDL, DML, DCL 에 대해 본문

DATABASE

[DATABASE] DDL, DML, DCL 에 대해

hanker 2025. 4. 28. 01:08
반응형

이번 글에서는 DATABASE에서 사용되는 SQL 언어 DDL, DML, DCL에 대해서 알아보자.

 

SQL 명령어 구조

 


1. DDL (Data Definition Language)

 

DDL(데이터 정의) : 뼈대 만들기

  • 데이터베이스 객체(테이블, 뷰, 인덱스 등)의 구조를 생성, 수정, 삭제 하는 명령어 모음이다.
  • CREATE TABLE : 새 테이블(혹은 뷰, 인덱스 등)을 만든다.
  • ALTER TABLE : 이미 만든 테이블의 컬럼 추가, 변경, 삭제 등 구조를 바꾼다.
  • DROP TABLE : 테이블(혹은 뷰, 인덱스 등)을 통째로 제거한다.
-- 고객 테이블 생성
CREATE TABLE Customer (
  id    INT PRIMARY KEY,
  name  VARCHAR(50),
  email VARCHAR(100)
);

-- 컬럼 추가
ALTER TABLE Customer
  ADD signup_date DATE;

-- 테이블 삭제
DROP TABLE Customer;

 

 


2. DML (Data Manipulation Language)

 

DML(데이터 조작) : 데이터를 쓰고, 지우고, 수정하는 역할

  • 테이블에 저장된 실제 데이터를 조회, 삽입, 수정 삭제하는 명령어 모음이다.
  • SELECT : 데이터 조회
  • INSERT : 새 레코드(행) 추가
  • UPDATE : 기존 레코드 수정
  • DELETE : 기존 레코드 삭제
-- 전체 고객 조회
SELECT * FROM Customer;

-- 새 고객 추가
INSERT INTO Customer (id, name, email, signup_date)
VALUES (1, '한커', 'hanker@example.com', '2025-04-28');

-- 이메일 주소 수정
UPDATE Customer
  SET email = 'hanker2@example.com'
  WHERE id = 1;

-- 특정 고객 삭제
DELETE FROM Customer
  WHERE id = 1;

 

 


3. DCL (Data Control Language)

 

DCL(데이터 제어) : 권한 관리 역할

  • 데이터베이스 사용 권한을 부여하거나 회수(취소)하는 명령어 모음이다.
  • GRANT : 사용자에게 특정 작업(SELECT, INSERT 등) 권한을 준다.
  • REVOKE : 이미 준 권한을 회수한다.
-- hanker에게 Customer 테이블 조회 권한 부여
GRANT SELECT ON Customer TO hanker;

-- hanker의 권한 회수
REVOKE SELECT ON Customer FROM hanker;

 

 

 


정리

 

구분 목적 주요 명령어
DDL 테이블, 인덱스 등 구조 정의 CREATE, ALTER, DROP
DML 실제 데이터 조작 SELECT, INSERT, UPDATE, DELETE
DCL 사용자 권한 관리 GRANT, REVOKE

 

 

반응형