DML

zooyeongยท2023๋…„ 4์›” 24์ผ
0

12์ฃผ์ฐจ

๋ชฉ๋ก ๋ณด๊ธฐ
6/6
post-thumbnail

๐Ÿ“ŒDML(Data Manipulation Language) ๋ช…๋ น์–ด

INSERT(์ž…๋ ฅ)

โ–ผINSERT๋กœ 1ํ–‰์”ฉ ์ž…๋ ฅํ•˜๊ธฐ

-> INSERT๋กœ ํ–‰์„ ์ถ”๊ฐ€ํ•  ๋• ์ปฌ๋Ÿผ์— ๋งž์ถฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์ฃผ์–ด์•ผ ํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜๊ฐ€ ๋งž์•„์•ผ ํ•œ๋‹ค.(๊ฐ ์ปฌ๋Ÿผ์— ๋งž๊ฒŒ ์ˆœ์„œ๋„ ๋งž์ถฐ์ค€๋‹ค!)

-> ๋“ค์–ด๊ฐˆ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์œผ๋ฉด null์„ ๋„ฃ์–ด ์ž๋ฆฟ์ˆ˜๋ฅผ ๋งž์ถฐ์ฃผ๋ฉด ๋œ๋‹ค.


โ–ผ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ

-> professor ํ…Œ์ด๋ธ”์—์„œ profno, name, id ์ปฌ๋Ÿผ์„ ๊ฐ€์ ธ์˜จ๋‹ค. profno๊ฐ€ 1001, 1002, 1003์ธ ๋ฐ์ดํ„ฐ๋งŒ ๊ฐ€์ ธ์˜ค๋Š” ์กฐ๊ฑด์ด ์žˆ๋‹ค.

UPDATE(๋ณ€๊ฒฝ)

โ–ผ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝํ•˜๊ธฐ

-> UPDATE ์ž‘์„ฑ ์‹œ์—๋Š” ์กฐ๊ฑด์„ ์ž˜ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค. ๋ฐ”๊พธ๋ ค๋Š” ๋ฐ์ดํ„ฐ์˜ ์กฐ๊ฑด์„ ๋ช…์‹œํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด ๊ทธ ์ปฌ๋Ÿผ์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฏ€๋กœ ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.

DELETE(์‚ญ์ œ)

DELETE FROM ํ…Œ์ด๋ธ”๋ช… WHERE ์กฐ๊ฑด;

DELETE ์‚ฌ์šฉ ์‹œ WHERE์ ˆ์ด ์—†๊ฑฐ๋‚˜ ์ž˜๋ชป ์“ฐ์ธ ๊ฒฝ์šฐ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ญ์ œ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

๐Ÿ”ฅ Teacher's Tip) DELETE๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— DELETE์ ˆ์— ์ฃผ์„์„ ๋จผ์ € ๊ฑธ์–ด๋‘”๋‹ค. SELECT ์ ˆ๋กœ ์กฐ๊ฑด์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•˜๊ณ  ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋งž์œผ๋ฉด ์‹คํ–‰ํ•œ๋‹ค! -> ์˜๋„ํ•˜์ง€ ์•Š์€ ์‹ค์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

MERGE(๋ณ‘ํ•ฉ)

MERGE๋ž€ ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ฉ์น˜๋Š” ๋ณ‘ํ•ฉ์„ ์˜๋ฏธํ•œ๋‹ค.

MERGE INTO Table1
USING Table2
ON ( ๋ณ‘ํ•ฉ ์กฐ๊ฑด์ ˆ )
WHEN MATCHED THEN
	UPDATE SET ์—…๋ฐ์ดํŠธ๋‚ด์šฉ
    DELETE WHERE ์กฐ๊ฑด
WHEN NOT MATCHED THEN
	INSERT VALUES(์ปฌ๋Ÿผ ์ด๋ฆ„);

-> MERGE๋ฅผ ์‹คํ–‰ํ•ด๋ณด๊ธฐ ์œ„ํ•ด test_member์™€ test_member_total ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑ

-> test_member ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ ์‚ฝ์ž…

-> test_member ๋ฐ์ดํ„ฐ๋ฅผ test_member_total ํ…Œ์ด๋ธ”์— MERGE

๐Ÿ“ŒTCL

TRANSACTION ๊ด€๋ฆฌ

โ–ผROLLBACK(์ทจ์†Œ)

-> INSERT๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ROLLBACK์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ทจ์†Œ๋˜์–ด ์•„๋ฌด ๋ฐ์ดํ„ฐ๋„ ์ €์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค.


โ–ผCOMMIT(ํ™•์ •)

-> COMMIT์„ ์ˆ˜ํ–‰ํ•ด์•ผ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ๋‹ค.

profile
Have a good day โŒฏโ€™โ–พโ€™โŒฏ

0๊ฐœ์˜ ๋Œ“๊ธ€