DDL & DML & DCL


DDL, Data Definition Language ๋ฐ์ดํ„ฐ ์ •์˜์–ด

์ข…๋ฅ˜์—ญํ• 
CREATE๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ํ…Œ์ด๋ธ” ๋“ฑ์„ ์ƒ์„ฑ
ALTERํ…Œ์ด๋ธ”์„ ์ˆ˜์ •
DROP๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ํ…Œ์ด๋ธ”์„ ์‚ญ์ œ
TRUNCATEํ…Œ์ด๋ธ”์„ ์ดˆ๊ธฐํ™”
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ •์˜ํ•˜๋Š” ์–ธ์–ด๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑ, ์ˆ˜์ •, ์‚ญ์ œํ•˜๋Š” ๋“ฑ ๋ฐ์ดํ„ฐ์˜ ์ „์ฒด ๊ณจ๊ฒฉ์„ ๊ฒฐ์ •
  • SCHEMA, DOMAIN, TABLE, VIEW, INDEX ๋ฅผ ์ •์˜ํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ ๋˜๋Š” ์‚ญ์ œํ•  ๋•Œ ์‚ฌ์šฉ
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„์ž๊ฐ€ ์‚ฌ์šฉ

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

์ข…๋ฅ˜์—ญํ• 
SELECT๋ฐ์ดํ„ฐ ์กฐํšŒ
INSERT๋ฐ์ดํ„ฐ ์‚ฝ์ž…
UPDATE๋ฐ์ดํ„ฐ ์ˆ˜์ •
DELETE๋ฐ์ดํ„ฐ ์‚ญ์ œ
  • ์ •์˜๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ž…๋ ฅ๋œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์กฐํšŒ, ์ˆ˜์ •, ์‚ญ์ œ
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉ์ž๊ฐ€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ์งˆ์˜์–ด๋ฅผ ํ†ตํ•ด ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์งˆ์ ์œผ๋กœ ์ฒ˜๋ฆฌ
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉ์ž์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ๊ฐ„์˜ ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต

DCL, Data Control Language ๋ฐ์ดํ„ฐ ์ œ์–ด์–ด

์ข…๋ฅ˜์—ญํ• 
GRANTํŠน์ • DB ์‚ฌ์šฉ์ž์—๊ฒŒ ํŠน์ • ์ž‘์—…์— ๋Œ€ํ•œ ๊ถŒํ•œ ๋ถ€์—ฌ
REVOKEํŠน์ • DB ์‚ฌ์šฉ์ž์—๊ฒŒ ํŠน์žฅ ์ž‘์—…์— ๋Œ€ํ•œ ๊ถŒํ•œ ๋ฐ•ํƒˆ
COMMITํŠธ๋žœ์žญ์…˜์˜ ์ž‘์—…์„ ์˜์†ํ™”
ROLLBACKํŠธ๋žœ์žญ์…˜์˜ ์ž‘์—…์„ ์ทจ์†Œ ๋ฐ ๋ณต๊ตฌ
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ๊ฐ์ฒด์— ๊ถŒํ•œ์„ ์ฃผ๋Š” ๋“ฑ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ์–ด
  • ๋ฐ์ดํ„ฐ์˜ ๋ณด์•ˆ, ๋ฌด๊ฒฐ์„ฑ, ํšŒ๋ณต, ๋ณ‘ํ–‰ ์ˆ˜ํ–‰ ์ œ์–ด ๋“ฑ์„ ์ •์˜

DELETE & TRUNCATE & DROP


DELETETRUNCATEDROP
๋ช…๋ น์–ด ์ข…๋ฅ˜DMLDDLDDL
์ฒ˜๋ฆฌ ์†๋„๋Š๋ฆผ๋น ๋ฆ„๋น ๋ฆ„
COMMIT์ง์ ‘์ž๋™์ž๋™
ROLLBACK ์—ฌ๋ถ€๊ฐ€๋Šฅ๋ถˆ๊ฐ€๋ถˆ๊ฐ€
์‚ญ์ œ ๋ฐฉ์‹๋ฐ์ดํ„ฐ๋งŒ ์‚ญ์ œCREATE ์ƒํƒœํ…Œ์ด๋ธ” ์™„์ „ํžˆ ์ œ๊ฑฐ

DELETE

DELETE FROM dbtable;
DELETE FROM dbtable WHERE {์กฐ๊ฑด};
ROLLBACK;
COMMIT;
  • WHERE ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ์„ ํƒํ•˜์—ฌ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ์‹
  • WHERE ๋ฌธ์„ ์‚ฌ์šฉํ•˜์ง€์•Š๊ณ  ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋”๋ผ๋„, ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” ํ•œ์ค„ ํ•œ์ค„ ์ผ์ผํžˆ ์ œ๊ฑฐํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์นจ
  • ์ฒ˜๋ฆฌ์†๋„๊ฐ€ ๋Šฆ๊ณ  ํผํฌ๋จผ์Šค์— ์ข‹์ง€์•Š์€ ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Œ
  • ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋งŒ ๊ณจ๋ผ์„œ ์‚ญ์ œํ•  ๋•Œ๋Š” DELETE ์‚ฌ์šฉ
  • ์ „์ฒด ๋ฐ์ดํ„ฐ ์‚ญ์ œํ•  ๋•Œ๋Š” TRUNCATE ์‚ฌ์šฉ
  • ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋”๋ผ๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ด๊ฒจ์žˆ๋˜ Storage ๋Š” Release ๋˜์ง€ ์•Š๋Š”๋‹ค
  • DELETE ๋œ ๋ฐ์ดํ„ฐ๋Š” COMMIT ๋˜๊ธฐ ์ „์— ROLLBACK ํ•  ์ˆ˜ ์žˆ์Œ

TRUNCATE

TRUNCATE TABLE dbtable;
  • ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ์‚ญ์ œํ•˜๋Š” ๋ฐฉ์‹
  • ์ตœ์ดˆ ์ƒ์„ฑ๋˜์—ˆ์„ ๋‹น์‹œ์˜ Storage ๋งŒ ๋‚จ๊ธฐ๊ณ  ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ด๊ฒจ์žˆ๋˜ Storage ๋Š” Release ๋จ
  • TRUNCATE TABLE == CREATE TABLE ํ•œ ์งํ›„์˜ ์ƒํƒœ
  • ์ž๋™ COMMIT ๋˜๋Š” ๋ช…๋ น์–ด์ด๊ธฐ ๋•Œ๋ฌธ์— ์ง€์šด ๋ฐ์ดํ„ฐ๋ฅผ ๋˜๋Œ๋ฆด ์ˆ˜ ์—†์Œ

DROP

DROP TABLE dbtable;
  • ํ…Œ์ด๋ธ” ์ž์ฒด๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ์—†์—ˆ๋˜ ํ…Œ์ด๋ธ”์ฒ˜๋Ÿผ ์™„์ „ํžˆ ๋‚ ๋ ค๋ฒ„๋ฆฌ๋Š” ๋ฐฉ์‹
  • ํ…Œ์ด๋ธ” ์ž์ฒด๊ฐ€ ๋ชจ๋‘ ์‚ญ์ œ๋˜๋ฉฐ ํ•ด๋‹น ํ…Œ์ด๋ธ”์— ์ƒ์„ฑ๋˜์–ด ์žˆ๋˜ ๋ชจ๋“  ์ธ๋ฑ์Šค๋„ ์‚ฌ๋ผ์ง
  • ์ž๋™ COMMIT ๋˜๋Š” ๋ช…๋ น์–ด์ด๊ธฐ ๋•Œ๋ฌธ์— ์ง€์šด ๋ฐ์ดํ„ฐ๋ฅผ ๋˜๋Œ๋ฆด ์ˆ˜ ์—†์Œ
  • ์˜ค๋ผํด10g ๋ถ€ํ„ฐ๋Š” ํ…Œ์ด๋ธ”์ด ์‚ญ์ œ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํœด์ง€ํ†ต ๊ฐœ๋…์ฒ˜๋Ÿผ ์ž ์‹œ ์‚ญ์ œ โ†’ ํ…Œ์ด๋ธ” ์ด๋ฆ„์ด BIN$โ€ฆ ์œผ๋กœ ๋ณ€๊ฒฝ๋จ