๋ฐ˜์‘ํ˜•

๐Ÿ“˜ SQL ๊ด€๋ฆฌ ๊ตฌ๋ฌธ ์™„๋ฒฝ ์ •๋ฆฌ: DDL, DML, DCL, TCL ํ•œ๋ˆˆ์— ์ดํ•ดํ•˜๊ธฐ!

SQLD, ์‹ค๋ฌด, ๋ฉด์ ‘์—์„œ๋„ ์ž์ฃผ ๋‚˜์˜ค๋Š” ํ•ต์‹ฌ ๊ฐœ๋… ๋ฐ”๋กœ SQL์˜ ๊ด€๋ฆฌ ๊ตฌ๋ฌธ๋“ค์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ SQL์—์„œ ๋ช…๋ น์–ด๋“ค์„ ๊ธฐ๋Šฅ๋ณ„๋กœ ๋ถ„๋ฅ˜ํ•œ DDL, DML, DCL, TCL์— ๋Œ€ํ•ด ์•„์ฃผ ์ž์„ธํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋“œ๋ฆด๊ฒŒ์š”. ์ด ๊ธ€ ํ•˜๋‚˜๋กœ ์™„๋ฒฝ ์ •๋ฆฌ ๋๋‚ด์„ธ์š”! ๐Ÿ’ช


๐Ÿงฑ 1. DDL (Data Definition Language)

๋ฐ์ดํ„ฐ ์ •์˜์–ด: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ(์Šคํ‚ค๋งˆ)๋ฅผ ์ •์˜ํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ฃผ์š” ๋ช…๋ น์–ด

๋ช…๋ น์–ด ์„ค๋ช…
CREATE ํ…Œ์ด๋ธ”, ์ธ๋ฑ์Šค, ๋ทฐ ๋“ฑ ๊ฐ์ฒด ์ƒ์„ฑ
ALTER ํ…Œ์ด๋ธ” ๊ตฌ์กฐ ์ˆ˜์ • (์ปฌ๋Ÿผ ์ถ”๊ฐ€/์‚ญ์ œ ๋“ฑ)
DROP ๊ฐ์ฒด ์‚ญ์ œ (ํ…Œ์ด๋ธ”, ์ธ๋ฑ์Šค ๋“ฑ)
TRUNCATE ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ์‚ญ์ œ (๋กค๋ฐฑ ๋ถˆ๊ฐ€!)

โœ… ํŠน์ง•

  • ์ž๋™ ์ปค๋ฐ‹์ด ๋ฐœ์ƒํ•จ (ROLLBACK ๋ถˆ๊ฐ€)
  • ๊ฐ์ฒด ์ž์ฒด๋ฅผ ๋‹ค๋ฃจ๋ฏ€๋กœ ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•จ

๐Ÿงพ 2. DML (Data Manipulation Language)

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

๐Ÿ“Œ ์ฃผ์š” ๋ช…๋ น์–ด

๋ช…๋ น์–ด ์„ค๋ช…
SELECT ๋ฐ์ดํ„ฐ ์กฐํšŒ (์ฝ๊ธฐ ์ „์šฉ)
INSERT ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ์‚ฝ์ž…
UPDATE ๊ธฐ์กด ๋ฐ์ดํ„ฐ ์ˆ˜์ •
DELETE ๊ธฐ์กด ๋ฐ์ดํ„ฐ ์‚ญ์ œ

โœ… ํŠน์ง•

  • ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ๋Œ€์ƒ → COMMIT / ROLLBACK ๊ฐ€๋Šฅ
  • ์‹ค๋ฌด์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” SQL ๊ตฌ๋ฌธ

๐Ÿ›ก๏ธ 3. DCL (Data Control Language)

๋ฐ์ดํ„ฐ ์ œ์–ด์–ด: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉ์ž๋‚˜ ๊ถŒํ•œ์„ ๊ด€๋ฆฌ/ํ†ต์ œํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ๋ฌธ์ž…๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ฃผ์š” ๋ช…๋ น์–ด

๋ช…๋ น์–ด ์„ค๋ช…
GRANT ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ถŒํ•œ ๋ถ€์—ฌ
REVOKE ๋ถ€์—ฌํ•œ ๊ถŒํ•œ ํšŒ์ˆ˜

โœ… ํŠน์ง•

  • ๋ณด์•ˆ/์ ‘๊ทผ ์ œ์–ด์— ์ค‘์š”ํ•จ
  • ์‚ฌ์šฉ์ž๋งˆ๋‹ค ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์„ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Œ

๐Ÿ” 4. TCL (Transaction Control Language)

ํŠธ๋žœ์žญ์…˜ ์ œ์–ด์–ด: DML ์ž‘์—…์˜ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ • ๋˜๋Š” ์ทจ์†Œํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ๋ฌธ์ž…๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ฃผ์š” ๋ช…๋ น์–ด

๋ช…๋ น์–ด ์„ค๋ช…
COMMIT ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ DB์— ์˜๊ตฌ ๋ฐ˜์˜
ROLLBACK ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ทจ์†Œ, ์ด์ „ ์ƒํƒœ๋กœ ๋ณต์›
SAVEPOINT ํŠธ๋žœ์žญ์…˜ ๋‚ด ์ค‘๊ฐ„ ์ง€์  ์„ค์ • → ์ดํ›„ ํ•ด๋‹น ์ง€์ ๊นŒ์ง€ ROLLBACK ๊ฐ€๋Šฅ

โœ… ํŠน์ง•

  • ์˜ค์ง DML๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ๋จ
  • DDL์€ COMMIT์ด ์ž๋™์œผ๋กœ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ TCL์˜ ๋Œ€์ƒ์ด ์•„๋‹˜

๐Ÿ’ก ์˜ˆ์ œ ์‹œ๋‚˜๋ฆฌ์˜ค๋กœ ์ดํ•ดํ•˜๊ธฐ

-- ํ…Œ์ด๋ธ” ์ƒ์„ฑ (DDL)
CREATE TABLE member (
  id NUMBER PRIMARY KEY,
  name VARCHAR2(50)
);

-- ๋ฐ์ดํ„ฐ ์ž…๋ ฅ (DML)
INSERT INTO member VALUES (1, 'ํ™๊ธธ๋™');

-- ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ €์žฅ (TCL)
COMMIT;

-- ๊ถŒํ•œ ๋ถ€์—ฌ (DCL)
GRANT SELECT ON member TO user1;

๐Ÿ“š ํ•œ๋ˆˆ์— ์ •๋ฆฌ 

๋ถ„๋ฅ˜ ์ด๋ฆ„ ์ฃผ์š” ๋ช…๋ น์–ด ๋Œ€์ƒ ํŠน์ง•
DDL ๋ฐ์ดํ„ฐ ์ •์˜์–ด CREATE, ALTER, DROP, TRUNCATE ๊ฐ์ฒด ์ž๋™ COMMIT ๋ฐœ์ƒ
DML ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด SELECT, INSERT, UPDATE, DELETE ๋ฐ์ดํ„ฐ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ
DCL ๋ฐ์ดํ„ฐ ์ œ์–ด์–ด GRANT, REVOKE ์‚ฌ์šฉ์ž/๊ถŒํ•œ ๋ณด์•ˆ/์ ‘๊ทผ ์ œ์–ด
TCL ํŠธ๋žœ์žญ์…˜ ์ œ์–ด์–ด COMMIT, ROLLBACK, SAVEPOINT ํŠธ๋žœ์žญ์…˜ DML ์ž‘์—… ์ œ์–ด์šฉ

๐Ÿ“ SQLD ์‹œํ—˜ ๋Œ€๋น„ ๊ฟ€ํŒ!

  • TRUNCATE๋Š” DDL์ด๋‹ค! (DELETE์™€ ๋‹ค๋ฅด๊ฒŒ ROLLBACK ์•ˆ๋จ)
  • DCL์€ ์‚ฌ์šฉ์ž์˜ ๊ถŒํ•œ์„ ์กฐ์ •ํ•œ๋‹ค๋Š” ํฌ์ธํŠธ ๊ผญ ๊ธฐ์–ต
  • TCL์€ DML๊ณผ ์„ธํŠธ์ฒ˜๋Ÿผ ์™ธ์šฐ๊ธฐ → COMMIT์€ INSERT/UPDATE/DELETE ํ›„ ์ €์žฅ์šฉ

 

๋ฐ˜์‘ํ˜•

+ Recent posts