티스토리 뷰
데이터베이스(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
'몸부림의 흔적' 카테고리의 다른 글
| # AJAX 방식이란? form 방식과의 차이점 / 동기와 비동기가 도대체 뭐야? / JSON 까지 완벽 파악하기 (+ 파이썬 딕셔너리와 비교) (0) | 2026.05.07 |
|---|---|
| # SQL 핵심 개념1 - '바인딩(Binding)'이란 무엇인지. (0) | 2026.05.06 |
| # 초보자도 알기 쉬운 SQL 핵심 개념과 문법 그리고 예시까지. (0) | 2026.05.04 |
| # PHP에서 $pdo (PDO)가 무슨 의미인지, 어떻게 사용되는지. $stmt는 무엇인가. pdo와 stmt의 관계에 관하여! (0) | 2026.05.02 |
| # SNS 프로젝트 과정1 - 좋아요 & 댓글 기능 만들 때 쓰는 테이블에 관하여 (0) | 2026.05.02 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 구조체와 배열의 차이
- 클래스랑 구조체 차이
- sql 문법
- 나무 같은 사람이 되고 싶다
- 프리지아
- 로즈마리 물꽂이
- 컴파일러와 인터프리터 차이
- 클래스 개념
- php문법
- 컴파일러 인터프리터 비교
- php
- 호이스팅 개념
- SQL 개념
- 자바스크립트 주요 키워드
- JavaScript
- 국제운전면허증 발급
- sql 핵심 개념
- 파충류 동반자
- 컴파일러 언어
- 컴포즈 커피
- 에어프라이어 청소
- 톰 더 글로우 시그니처
- 로즈마리
- PHP 문법
- 은구비공원
- CRUD
- 구조체 개념 이해하기 쉽게
- cost let var 비교
- php 개념
- $stmt
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
글 보관함
