티스토리 뷰

 

데이터베이스(DB) 언어는 쉽게 말하면 **“데이터베이스에게 명령하는 언어”**야.
그 명령의 목적에 따라 크게 3가지로 나뉘어:

 
 
       종류                         하는 일                                       쉽게 말하면
DDL 구조 만들기 “집 짓기”
DML 데이터 다루기 “집 안 물건 사용하기”
DCL 권한 관리 “누가 집에 들어올 수 있는지 정하기”

 

1. DDL (Data Definition Language)

👉 데이터베이스의 “구조”를 만드는 언어

테이블을 만들거나 수정하거나 삭제할 때 사용해.

즉,
“학생 정보를 저장할 공간을 만들자!”
같은 작업이야.


대표 명령어

명령어의미
CREATE 만들기
ALTER 수정하기
DROP 삭제하기
TRUNCATE 데이터 전체 비우기

쉬운 예시

학생 테이블 만들기

 
CREATE TABLE student (
    id INT,
    name VARCHAR(20),
    age INT
);
 

의미:

  • 학생 번호(id)
  • 이름(name)
  • 나이(age)

를 저장할 공간을 만든 거야.


비유하면?

DDL은 새 공책 만드는 작업이야.

  • 공책 생성
  • 칸 나누기
  • 표 구조 만들기

이런 느낌!


2. DML (Data Manipulation Language)

👉 데이터를 넣고, 수정하고, 꺼내는 언어

실제로 데이터를 사용하는 단계야.


대표 명령어

명령어의미
INSERT 데이터 추가
SELECT 데이터 조회
UPDATE 데이터 수정
DELETE 데이터 삭제

쉬운 예시

학생 추가

 
INSERT INTO student VALUES (1, '철수', 20);
 

→ 철수 학생 추가


학생 조회

 
SELECT * FROM student;
 

→ 학생 목록 보기


학생 나이 수정

 
UPDATE student
SET age = 21
WHERE name = '철수';
 

→ 철수 나이를 21로 변경


학생 삭제

 
DELETE FROM student
WHERE name = '철수';
 

→ 철수 데이터 삭제


비유하면?

DML은 공책에 글 쓰고 읽는 작업이야.

  • 내용 적기
  • 수정하기
  • 지우기
  • 읽기

3. DCL (Data Control Language)

👉 권한을 관리하는 언어

누가 데이터베이스를 사용할 수 있는지 정하는 역할이야.

즉,

  • “이 사람은 조회만 가능”
  • “이 사람은 수정 가능”
  • “이 사람은 관리자”

같은 권한을 설정하는 거지.


대표 명령어

명령어의미
GRANT 권한 주기
REVOKE 권한 빼앗기

쉬운 예시

사용자에게 조회 권한 주기

 
GRANT SELECT ON student TO user1;
 

→ user1은 student 테이블 조회 가능


권한 제거

 
REVOKE SELECT ON student FROM user1;
 

→ 조회 권한 제거


비유하면?

DCL은 집 열쇠 관리야.

  • 누구 들어올 수 있는지
  • 누가 수정 가능한지
  • 누가 관리자 권한인지

정하는 역할!


세 가지 차이점 한눈에 보기

종류목적대상예시
DDL 구조 정의 테이블 자체 CREATE, DROP
DML 데이터 조작 테이블 안 데이터 INSERT, SELECT
DCL 권한 관리 사용자 권한 GRANT, REVOKE

진짜 쉬운 비유로 정리

데이터베이스를 “학교”라고 생각해보자!

상황해당 언어
교실 만들기 DDL
학생 정보 적기 DML
선생님 권한 주기 DCL

핵심 요약

DDL

“테이블 구조를 만든다”

DML

“데이터를 넣고 수정하고 조회한다”

DCL

“사용 권한을 관리한다”


시험에서는 보통 이렇게 외우면 편해 😊

  • DDL = 정의
  • DML = 조작
  • DCL = 제어(권한)

 

 

By. ChatGPT