Home > SQL > 2024 > ๐Ÿ’‰[SQL] DDL์ด๋ž€?

๐Ÿ’‰[SQL] DDL์ด๋ž€?
SQL

๐Ÿ’‰[SQL] DDL์ด๋ž€?

DDL(Data Definition Language) ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” SQL์˜ ํ•˜์œ„ ์–ธ์–ด ์ž…๋‹ˆ๋‹ค.

DDL ๋ช…๋ น์–ด๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ”, ์ธ๋ณ, ์Šคํ‚ค๋งˆ, ๋ทฐ ๋“ฑ๊ณผ ๊ฐ™์€ ๊ฐ์ฒด๋“ค์„ ์ƒ์„ฑ, ์ˆ˜์ •, ์‚ญ์ œํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๊ตฌ์กฐ๋ฅผ ์„ค์ •ํ•˜๊ณ , ๊ทธ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

1๏ธโƒฃ DDL์˜ ์ฃผ์š” ๋ช…๋ น์–ด.

1. CREATE

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ์ฒด(ํ…Œ์ด๋ธ”, ์ธ๋ฑ์Šค, ์Šคํ‚ค๋งˆ, ๋ทฐ ๋“ฑ) ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด, ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ๋•Œ CREATE TABLE ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์‹œ: ํ…Œ์ด๋ธ” ์ƒ์„ฑ.

CREATE TABLE Users (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100)
);

2. ALTER

  • ๊ธฐ์กด์— ์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ์ฒด์˜ ๊ตฌ์กฐ๋ฅผ ์ˆ˜์ •ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ํ…Œ์ด๋ธ”์— ์ƒˆ๋กœ์šด ์—ด์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜, ์—ด์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์‹œ: ํ…Œ์ด๋ธ” ์—ด ์ถ”๊ฐ€

ALTER TABLE Users
ADD COLUMN age INT;

3. DROP

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ์ฒด๋ฅผ ์‚ญ์ œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ํ…Œ์ด๋ธ”, ์ธ๋ฑ์Šค, ๋ทฐ ๋“ฑ์˜ ๊ฐ์ฒด๋ฅผ ์‚ญ์ œํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • DROP ๋ช…๋ น์–ด๋Š” ๋งค์šฐ ๊ฐ•๋ ฅํ•˜๋ฉฐ, ํ•œ๋ฒˆ ๊ฐ์ฒด๊ฐ€ ์‚ญ์ œ๋˜๋ฉด ๊ทธ ์•ˆ์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋„ ํ•จ๊ป˜ ์‚ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์‹œ: ํ…Œ์ด๋ธ” ์‚ญ์ œ

DROP TABLE Users;

4. TRUNCATE

  • ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œ ํ•˜์ง€๋งŒ, ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ๋Š” ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
    • ๋ฐ์ดํ„ฐ๋งŒ ์‚ญ์ œ๋˜๊ณ , ํ…Œ์ด๋ธ” ์ž์ฒด๋Š” ๋‚จ์•„ ์žˆ์œผ๋ฏ€๋กœ ํ…Œ์ด๋ธ”์„ ๋‹ค์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • DELETE ๋ช…๋ น์–ด์™€๋Š” ๋‹ฌ๋ฆฌ, ๊ฐœ๋ณ„ ํŠธ๋žœ์žญ์…˜์„ ๊ธฐ๋กํ•˜์ง€ ์•Š๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ผ๊ด„์ ์œผ๋กœ ์‚ญ์ œํ•˜๋ฏ€๋กœ ๋” ๋น ๋ฅด๊ฒŒ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

์˜ˆ์‹œ: ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ ๋ชจ๋‘ ์‚ญ์ œ.

TRUNCATE TABLE Users;

2๏ธโƒฃ DDL์˜ ์ฃผ์š” ํŠน์ง•.

๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์ •์˜.

  • DDL ๋ช…๋ น์–ด๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ํ…Œ์ด๋ธ”๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.
  • ํ…Œ์ด๋ธ” ์ƒ์„ฑ, ์ˆ˜์ •, ์‚ญ์ œ ๊ฐ™์€ ์ž‘์—…์ด ์—ฌ๊ธฐ์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์ž๋™ ์ปค๋ฐ‹.

  • DDL ๋ช…๋ น์–ด๋Š” ์‹คํ–‰ ์ฆ‰์‹œ ์ž๋™์œผ๋กœ ์ปค๋ฐ‹(Commit) ๋ฉ๋‹ˆ๋‹ค.
  • ์ฆ‰, CREATE, ALTER, DROP ๊ฐ™์€ ๋ช…๋ น์–ด๋Š” ํŠธ๋žœ์žญ์…˜์œผ๋กœ ๋ฌถ์ด์ง€ ์•Š๊ณ , ์‹คํ–‰๊ณผ ๋™์‹œ์— ์ฆ‰์‹œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.

๋น„๊ต์  ๋‹จ์ˆœํ•œ ์ž‘์—….

  • DDL ๋ช…๋ น์–ด๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ์กฐ์ž‘ํ•˜์ง€ ์•Š๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๊ตฌ์กฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐ ์ดˆ์ ์„ ๋งž์ถฅ๋‹ˆ๋‹ค.

3๏ธโƒฃ DDL๊ณผ DML์˜ ์ฐจ์ด์ .

DDL(Data Definition Language)

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๋Š” ์–ธ์–ด์ž…๋‹ˆ๋‹ค.
    • ์ฃผ๋กœ ํ…Œ์ด๋ธ” ์ธ๋ฑ์Šค ๋“ฑ์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ƒ์„ฑ, ๋ณ€๊ฒฝ, ์‚ญ์ œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

DML(Data Manipulation Language)

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ์–ธ์–ด์ž…๋‹ˆ๋‹ค.
    • ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…(INSERT), ์กฐํšŒ(SELECT), ์ˆ˜์ •(UPDATE), ์‚ญ์ œ(DELETE)ํ•˜๋Š” ์ž‘์—…์ด DML์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

4๏ธโƒฃ DDL ์‚ฌ์šฉ ์˜ˆ์‹œ.

-- ํ…Œ์ด๋ธ” ์ƒ์„ฑ
CREATE TABLE Employees (
    emp_id INT PRIMARY KEY,
    emp_name VARCHAR(100),
    emp_salary DECIMAL(10, 2)
);

-- ํ…Œ์ด๋ธ” ์ˆ˜์ • (์ƒˆ๋กœ์šด ์—ด ์ถ”๊ฐ€)
ALTER TABLE Employees
ADD COLUMN emp_department VARCHAR(50);

-- ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ ์ผ๊ด„ ์‚ญ์ œ (ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ์œ ์ง€)
TRUNCATE TABLE Employees;

-- ํ…Œ์ด๋ธ” ์‚ญ์ œ
DROP TABLE Employees;

5๏ธโƒฃ ์š”์•ฝ.

DDL(Data Definition Language)์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํ…Œ์ด๋ธ”, ์ธ๋ฑ์Šค, ์Šคํ‚ค๋งˆ์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” SQL ์–ธ์–ด์ž…๋‹ˆ๋‹ค.

DDL์€ ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๋ฉฐ, ์ฃผ์š” ๋ช…๋ น์–ด๋กœ๋Š” CREATE, ALTER, DROP, TRUNCATE๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

DDL ๋ช…๋ น์–ด๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋ฐ์ดํ„ฐ ์ž์ฒด๋ฅผ ๋‹ค๋ฃจ์ง€ ์•Š๊ณ , ํ…Œ์ด๋ธ”๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ์˜ ํ˜•์‹์„ ์ •์˜ํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค.