๐ŸŒนย ์ •๋ฆฌ by ์žฅ๋ฏธ(https://velog.io/@newbiekim/)

DDL(Data Define Language, ๋ฐ์ดํ„ฐ ์ •์˜์–ด)

DDL์€ **๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ์ฒด(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ํ…Œ์ด๋ธ”)**๋ฅผ ์ƒ์„ฑํ•ด์ค€๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„์ž๊ฐ€ ์‚ฌ์šฉํ•œ๋‹ค.

CREATE TABLE ์‚ฌ์› (
	์‚ฌ๋ฒˆ INTEGER NOT NULL;
	์ด๋ฆ„ CHAR(10) NOT NULL;
	๋ถ€์„œ CHAR(10)
	PRIMARY KEY(์‚ฌ๋ฒˆ),
	FOREIGN KEY(๋ถ€์„œ)
		REFERENCES ๋ถ€์„œ๋ชฉ๋ก(๋ถ€์„œ์ฝ”๋“œ)
		ON DELETE SET NULL
		ON UPDATE CASCADE
);

ํ…Œ์ด๋ธ”๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์Šคํ‚ค๋งˆ, ๋„๋ฉ”์ธ, ๋ทฐ, ์ธ๋ฑ์Šค ๋“ฑ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

์œ„ ์ฝ”๋“œ๋ฅผ ์ž ๊น ์„ค๋ช…ํ•˜์ž๋ฉด, ๋ถ€์„œ๋ชฉ๋ก์—์„œ ์˜์—…๋ถ€๊ฐ€ **์‚ญ์ œ(DELETE)**๋œ๋‹ค๋ฉด ์‚ฌ์› ํ…Œ์ด๋ธ”์˜ ์˜์—…๋ถ€๋Š” ์ „๋ถ€ **๋นˆ์นธ์œผ๋กœ ๋Œ€์ฒด(SET NULL)**๋˜๊ณ , ์˜์—…๋ถ€๊ฐ€ ํŒ๋งค๋ถ€๋กœ **๋ณ€๊ฒฝ(UPDATE)**๋œ๋‹ค๋ฉด ์‚ฌ์› ํ…Œ์ด๋ธ”์˜ ์˜์—…๋ถ€๋Š” **์ „๋ถ€ ํŒ๋งค๋ถ€๋กœ ๋Œ€์ฒด(CASCADE โ†’ ์—ฐ๊ด€๋œ ๊ฒƒ๋“ค๋„ ํ•จ๊ป˜ ์‹คํ–‰)**๋œ๋‹ค.

DDL์€ ์ƒ์„ฑ ์™ธ์— ๋ณ€๊ฒฝ(ALTER), ์ œ๊ฑฐ(DROP) ๋“ฑ์˜ ๊ธฐ๋Šฅ๋„ ์žˆ๋‹ค.


DML(Data Manipulation Language, ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด)

DML์€ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒ, ์‚ฝ์ž…, ์‚ญ์ œ, ๊ฐฑ์‹ ํ•˜๋Š” ์ž‘์—…์„ ํ•œ๋‹ค.