Post

[SQL] DDL

๐Ÿ“Œ ๋“ค์–ด๊ฐ€๋ฉฐ

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” DDL(Data Definition Language, ๋ฐ์ดํ„ฐ ์ •์˜์–ด)์„ ์ •๋ฆฌํ•œ๋‹ค. CREATE, ALTER, TRUNCATE, DROP ๋“ฑ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ช…๋ น์–ด๋“ค์ด๋‹ค.

โš ๏ธ DDL์€ ๋”ฐ๋กœ ์ปค๋ฐ‹ํ•˜์ง€ ์•Š์•„๋„ ์ฆ‰์‹œ ๋ฐ˜์˜๋˜๊ณ  ๋กค๋ฐฑ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋ž˜์„œ ์‚ฌ์šฉํ•  ๋•Œ ๋งค์šฐ ์กฐ์‹ฌํ•ด์•ผ ํ•œ๋‹ค.


1. CREATE โ€” ํ…Œ์ด๋ธ” ์ƒ์„ฑ

1
2
3
4
5
6
7
8
CREATE TABLE PRODUCT(
    PRODUCT_ID   NUMBER,
    PRODUCT_NAME VARCHAR2(30),
    MANUDATE     DATE
);

INSERT INTO PRODUCT(PRODUCT_ID, PRODUCT_NAME, MANUDATE)
    VALUES(1, 'CELLPHONE', TO_DATE('YYMMDD'));

Desktop View

ํ…Œ์ด๋ธ”ยท์—ด ์ด๋ฆ„ ๊ทœ์น™:

๊ทœ์น™์„ค๋ช…
์ค‘๋ณต ๋ถˆ๊ฐ€๊ฐ™์€ ํ…Œ์ด๋ธ”๋ช…ยท๊ฐ™์€ ์—ด ์ด๋ฆ„ ๋ถˆ๊ฐ€
์˜ˆ์•ฝ์–ด ๊ธˆ์ง€SELECT, INSERT, FROM ๋“ฑ ์‚ฌ์šฉ ๋ถˆ๊ฐ€
๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•œ๊ธ€ยทํŠน์ˆ˜๋ฌธ์ž ๊ฐ€๋Šฅํ•˜๋‚˜ ๊ถŒ์žฅ ์•ˆ ํ•จ
์ ๋‹นํ•œ ๊ธธ์ด๋„ˆ๋ฌด ๊ธด ์ด๋ฆ„ ์ง€์–‘

2. ALTER โ€” ํ…Œ์ด๋ธ” ๊ตฌ์กฐ ๋ณ€๊ฒฝ

์—ด ๋‹จ์œ„๋กœ ์ถ”๊ฐ€ยท์ˆ˜์ •ยท์‚ญ์ œยท์ด๋ฆ„ ๋ณ€๊ฒฝ์„ ํ•œ๋‹ค.

๋ช…๋ น์—ญํ• 
ADD (์—ด ํƒ€์ž…)์—ด ์ถ”๊ฐ€
MODIFY (์—ด ํƒ€์ž…)์—ด ํƒ€์ž… ๋ณ€๊ฒฝ
DROP COLUMN ์—ด์—ด ์‚ญ์ œ
RENAME COLUMN A TO B์—ด ์ด๋ฆ„ ๋ณ€๊ฒฝ
1
2
3
4
ALTER TABLE PRODUCT ADD (FACTORY VARCHAR2(10));               -- ์ถ”๊ฐ€
ALTER TABLE PRODUCT MODIFY (PRODUCT_NAME VARCHAR2(50));       -- ํƒ€์ž… ๋ณ€๊ฒฝ
ALTER TABLE PRODUCT DROP COLUMN PRODUCT_NAME;                 -- ์‚ญ์ œ
ALTER TABLE PRODUCT RENAME COLUMN PRODUCT_NAME TO PRODUCT_NAMEE; -- ์ด๋ฆ„ ๋ณ€๊ฒฝ

Desktop View Desktop View

โš ๏ธ MODIFY๋กœ ํƒ€์ž…์„ ๋ฐ”๊ฟ€ ๋•Œ ๊ธฐ์กด๋ณด๋‹ค ์ž‘์€ ํ˜•์œผ๋กœ๋Š” ๋ณ€ํ™˜ ๋ถˆ๊ฐ€ํ•˜๋‹ค. DROP COLUMN์€ ๋กค๋ฐฑ์ด ์•ˆ ๋˜๋‹ˆ ํŠนํžˆ ์กฐ์‹ฌํ•˜์ž.


3. TRUNCATE vs DROP

1
2
TRUNCATE TABLE PRODUCT;   -- ํ‹€์€ ๋‚จ๊ธฐ๊ณ  '๋‚ด์šฉ๋งŒ' ์‚ญ์ œ
DROP TABLE PRODUCT;       -- ํ…Œ์ด๋ธ”์„ '์•„์˜ˆ' ์‚ญ์ œ
๋ช…๋ น์‚ญ์ œ ๋Œ€์ƒ
TRUNCATE๋ฐ์ดํ„ฐ(๋‚ด์šฉ)๋งŒ, ๊ตฌ์กฐ๋Š” ์œ ์ง€
DROPํ…Œ์ด๋ธ” ์ž์ฒด ์‚ญ์ œ

๐Ÿ“ ์ •๋ฆฌ

1
2
3
4
5
6
DDL (๋ฐ์ดํ„ฐ ์ •์˜์–ด)
โ”œโ”€ CREATE    ํ…Œ์ด๋ธ” ์ƒ์„ฑ
โ”œโ”€ ALTER     ADD/MODIFY/DROP COLUMN/RENAME (๊ตฌ์กฐ ๋ณ€๊ฒฝ)
โ”œโ”€ TRUNCATE  ๋‚ด์šฉ๋งŒ ์‚ญ์ œ (๊ตฌ์กฐ ์œ ์ง€)
โ””โ”€ DROP      ํ…Œ์ด๋ธ” ์ž์ฒด ์‚ญ์ œ
โš ๏ธ ์ฆ‰์‹œ ๋ฐ˜์˜ + ๋กค๋ฐฑ ๋ถˆ๊ฐ€ โ†’ ์‹ ์ค‘ํžˆ!
๊ฐœ๋…ํ•œ ์ค„ ์ •์˜
CREATEํ…Œ์ด๋ธ” ์ƒ์„ฑ
ALTER์—ด ๋‹จ์œ„ ๊ตฌ์กฐ ๋ณ€๊ฒฝ
TRUNCATE vs DROP๋‚ด์šฉ๋งŒ ์‚ญ์ œ vs ํ…Œ์ด๋ธ” ์‚ญ์ œ

DDL์€ ํ…Œ์ด๋ธ”์˜ โ€œ๊ตฌ์กฐโ€๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฐ•๋ ฅํ•œ ๋ช…๋ น์–ด๋‹ค. ๋กค๋ฐฑ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ์ด DML๊ณผ์˜ ๊ฒฐ์ •์  ์ฐจ์ด์ด๋‹ˆ, ์‹คํ–‰ ์ „์— ํ•ญ์ƒ ํ•œ ๋ฒˆ ๋” ํ™•์ธํ•˜๋Š” ์Šต๊ด€์„ ๋“ค์ด์ž.

This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.