Programing_Java

[SQLD] SQL - Table ๋ณธ๋ฌธ

๐Ÿ’พ SQL_

[SQLD] SQL - Table

Joyfullyever 2025. 3. 5. 22:50

โœด๏ธŽ ํ…Œ์ด๋ธ” ์ƒ์„ฑ

: DB๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ…Œ์ด๋ธ”์„ ๋จผ์ € ์ƒ์„ฑํ•ด์•ผํ•จ

 ์ƒ์„ฑ : CREATE TABLE ⇒ ์ƒˆ ํ…Œ์ด๋ธ” ์ƒ์„ฑ, ๊ธฐ๋ณธํ‚ค, ์™ธ๋ž˜ํ‚ค, ์ œ์•ฝ์‚ฌํ•ญ ๋“ฑ์„ ์„ค์ •

๋ณ€๊ฒฝ : ALTER TABLE ⇒ ์ƒ์„ฑ๋œ ํ…Œ์ด๋ธ” ๋ณ€๊ฒฝ, ์นผ๋Ÿผ ์ถ”๊ฐ€, ๋ณ€๊ฒฝ, ์‚ญ์ œ, ๊ธฐ๋ณธํ‚ค ๋˜๋Š” ์™ธ๋ž˜ํ‚ค ์„ค์ •

์‚ญ์ œ : DROP TABLE ⇒ ํ•ด๋‹น ํ…Œ์ด๋ธ” ์‚ญ์ œ, ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ + ๋ฐ์ดํ„ฐ ๋ชจ๋‘ ์‚ญ์ œ

 

โœด๏ธŽ ๊ธฐ๋ณธ์ ์ธ ํ…Œ์ด๋ธ” ์ƒ์„ฑ

: ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ๋ฅผ ํ™•์ธํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, SQL์ค‘์— DESC(Describe)๋ฌธ ์‚ฌ์šฉ

: ์ƒ์„ฑ๋œ ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ๋ฅผ ๋ณด๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ

DESC ํ…Œ์ด๋ธ”๋ช…;

 

โœด๏ธŽ ์ œ์•ฝ์กฐ๊ฑด ์‚ฌ์šฉ

: PK, FK, Default, Not Null ๋“ฑ์€ ํ…Œ์ด๋ธ” ์ƒ์„ฑํ•  ๋•Œ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Œ

: FK๋ฅผ ์ง€์ •ํ•˜๋ ค๋ฉด ๋ถ€๋ชจ ํ…Œ์ด๋ธ”์ด ๋จผ์ € ์ƒ์„ฑ๋˜์–ด์•ผ ํ•จ

 

โœด๏ธŽ CASCADE

: ํ…Œ์ด๋ธ” ์ƒ์„ฑ ์‹œ, CASCADE ์˜ต์…˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

: ์ฐธ์กฐ๊ด€๊ณ„(๊ธฐ๋ณธํ‚ค์™€ ์™ธ๋ž˜ํ‚ค ๊ด€๊ณ„)๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ์ฐธ์กฐ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ ๋ฐ˜์˜ํ•  ์ˆ˜ ์ž‡๋Š” ๊ฒƒ

• ON DELETE CASCADE

: ์ž์‹ ์ด ์ฐธ์กฐํ•˜๊ณ  ์žˆ๋Š” ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ญ์ œ๋˜๋ฉด ์ž๋™์œผ๋กœ ์ž์‹ ๋„ ์‚ญ์ œ๋˜๋Š” ์˜ต์…˜

: ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ ์ค€์ˆ˜ ๊ฐ€๋Šฅ. ๋ถ€๋ชจ ํ…Œ์ด๋ธ”์—๋Š” ํ•ด๋‹น ๋ถ€์„œ๋ฒˆํ˜ธ๊ฐ€ ์—†๋Š”๋ฐ, ์ž์‹ ํ…Œ์ด๋ธ”์—๋Š” ํ•ด๋‹น ๋ถ€์„œ๋ฒˆํ˜ธ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ ์œ„๋ฐฐ

• CONSTRAINT : ์ œ์•ฝ ์กฐ๊ฑด

 

// ํ…Œ์ด๋ธ” ๋ณ€๊ฒฝ
ALTER TABLE ํ…Œ์ด๋ธ”๋ช… RENAME TO ์ƒˆ ํ…Œ์ด๋ธ”๋ช…;

// ์นผ๋Ÿผ ์ถ”๊ฐ€
ALTER TABLE ํ…Œ์ด๋ธ”๋ช… ADD (์ƒˆ์นผ๋Ÿผ๋ช… ํƒ€์ž…);

// ์นผ๋Ÿผ ๋ณ€๊ฒฝ
ALTER TABLE ํ…Œ์ด๋ธ”๋ช… MODIFY (์นผ๋Ÿผ๋ช… ํƒ€์ž…);
: ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ์˜ ๊ธธ์ด ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
: ์นผ๋Ÿผ์„ ๋ณ€๊ฒฝํ•  ๋•Œ ์ œ์•ฝ์กฐ๊ฑด ์„ค์ • ๊ฐ€๋Šฅ
: ์นผ๋Ÿผ์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋ณ€๊ฒฝํ•  ๋•Œ ๊ธฐ์กด ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์—๋Ÿฌ ๋ฐœ์ƒ
	Ex) ๊ธฐ์กด ์ˆซ์žํƒ€์ž…, ์ˆซ์ž๋ฐ์ดํ„ฐ ์ €์žฅ๋จ → ๋ฌธ์žํ˜• ํƒ€์ž…์œผ๋กœ ๋ณ€๊ฒฝ == ์—๋Ÿฌ
    
// ์นผ๋Ÿผ ์‚ญ์ œ
ALTER TABLE ํ…Œ์ด๋ธ”๋ช… DROP COLUMN ์นผ๋Ÿผ๋ช…;

// ์นผ๋Ÿผ๋ช… ๋ณ€๊ฒฝ
ALTER TABLE ํ…Œ์ด๋ธ”๋ช… RENAME COLUMN ์นผ๋Ÿผ๋ช… TO ์ƒˆ ์นผ๋Ÿผ๋ช…;

// ํ…Œ์ด๋ธ” ์‚ญ์ œ
DROP TABLE ํ…Œ์ด๋ธ”๋ช…;
: ํ˜„์—…์—์„  ์‚ฌ์šฉ X → ์ •๋ง ํŠน๋ณ„ํ•œ ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋ฉด ๋ฐ์ดํ„ฐ ์‚ญ์ œ ์ž˜ ์•ˆํ•จ (๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์„์ˆ˜๋ก ์ข‹๊ธฐ ๋•Œ๋ฌธ)
: ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ์‚ญ์ œ
CASCADE CONSTRAINT ์˜ต์…˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅ → ํ•ด๋‹น ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์™ธ๋ž˜ํ‚ค๋กœ ์ฐธ์กฐํ•œ ์ž์‹ ํ…Œ์ด๋ธ”๊ณผ ๊ด€๋ จ๋œ ์ œ์•ฝ์‚ฌํ•ญ๋„ ์‚ญ์ œํ•  ๋•Œ ์‚ฌ์šฉ
: ์ฐธ์กฐ๋œ ์ œ์•ฝ์‚ฌํ•ญ๊นŒ์ง€๋„ ๋ชจ๋‘ ์‚ญ์ œ
: ์ด๋ฏธ ๋Œ์•„๊ฐ€๊ณ  ์žˆ๋Š” ์ƒํƒœ์—์„œ ์ธ์œ„์ ์œผ๋กœ ์‚ญ์ œ๋ฅผ ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ