Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- error
- SQL
- DBMS
- docker
- mysql
- 리눅스
- 후기
- Python
- pandas
- PostgreSQL
- Linux
- 명령어
- 네트워크
- github
- mssql
- 쉘스크립트
- java
- MariaDB
- network
- spring
- git
- 자바
- 티스토리챌린지
- oracle
- 오블완
- 독서
- iBatis
- Javascript
- IntelliJ
- Kibana
Archives
- Today
- Total
hanker
[DATABASE] DDL, DML, DCL 에 대해 본문
반응형
이번 글에서는 DATABASE에서 사용되는 SQL 언어 DDL, DML, DCL에 대해서 알아보자.
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 |
반응형