DML
ํ
์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ(INSERT), ์์ (UPDATE), ์ญ์ (DELETE)
INSERT
ํ
์ด๋ธ์ ์๋ก์ด ํ์ ์ถ๊ฐํ๋ ๊ตฌ๋ฌธ์ด๋ค.
INSERT INTO [ํ
์ด๋ธ๋ช
/ ์ปฌ๋ผ๋ช
] VALUES [๊ฐ];
๋ช
์๋์ง ์์ ์ปฌ๋ผ์๋ NULL ์ด ๋ค์ด๊ฐ๋ค. NULL ๊ฐ์ด ๋ค์ด๊ฐ๋ ์ปฌ๋ผ์ ๋ฐ๋ก ๋ง๋ค์ด์ ๋์ค์ JOIN ์ ํ๋์ง ํ๋ค. (๋ง๋ค๋ ๊ฐ์ด ๋ง๋ค์ง ์๋๋ค.)
๋ง์ฝ ๋ชจ๋ ์ปฌ๋ผ์ ๊ฐ์ ๋ฃ๋๋ค๋ฉด, ์ปฌ๋ผ๋ช
์์ฑ์ ์๋ตํ ์ ์๋ค.
INSERT INTO [ํ
์ด๋ธ๋ช
] VALUES (๋ชจ๋ ์ปฌ๋ผ์ ๋ํ ๊ฐ);
UPDATE
ํ
์ด๋ธ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ ๊ตฌ๋ฌธ์ด๋ค.
UPDATE [ํ
์ด๋ธ๋ช
] SET [์ปฌ๋ผ๋ช
] = ๋ณ๊ฒฝ๊ฐ [์ปฌ๋ผ๋ช
= ๋ณ๊ฒฝ๊ฐ โฆ] [WHERE์ ]
๋จผ์ ๋ณ๊ฒฝํ ๋ฐ์ดํฐ๋ฅผ SELECT ๋ฌธ์ ์ฌ์ฉํด ํ์ธํ๊ณ , ์์ฑ์ดํ WHERE ์ ์ ์ ์ฌํ ๋ณธ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ฐDB์ ๋จผ์ ์คํํด๋ณธ๋ค.
DELETE
ํ
์ด๋ธ ํ์ ์ญ์ ํ๋ ๊ตฌ๋ฌธ
DELETE FROM [ํ
์ด๋ธ๋ช
] [WHERE ์ ]
TRUNCATE
ํ
์ด๋ธ ์ ์ฒด ํ์ ์ญ์ ํ ๋ ์ฌ์ฉ.
์ฅ์ : DELETE ๋ณด๋ค ๋น ๋ฅด๊ฒ ์ ์ฒด ํ์ ์ญ์ ํ๋ค.
๋จ์ : ROLLBACK ์ด ์๋๋ค.
TCL( transaction controll language)
COMMIT / ROLLBACK
COMMIT : ํ
์ด๋ธ์์ ๋ฐ์ํ ๋ณ๊ฒฝ์ฌํญ์ ํ์ ํ๋ค.
ROLLBACK : ํ
์ด๋ธ์ ์ด์ COMMIT ์ํ๋ก ๋๋๋ฆฐ๋ค.
Transaction : ๋
ผ๋ฆฌ์ ์ต์ ์์
๋จ์
[๊ณ์ข์ด์ฒด]
A ๊ณ์ข โโ(5๋ง์)โโโโ B ๊ณ์ข
A ๊ณ์ข์ ์๊ธ์ 5๋ง์ ์ฐจ๊ฐํ ๊ธ์ก์ผ๋ก UPDATE
B ๊ณ์ข์ ์๊ธ์ 5๋ง์ ์ถ๊ฐํ ๊ธ์ก์ผ๋ก UPDATE (์ฌ๊ณ ๋ฐ์!)
๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ๊ฐ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ์ฆ์ ๋ฐ์ํ๋ ๊ฒ์ด ์๋๋ผ ํ๋์ ๋
ผ๋ฆฌ์ ์ธ ์์
์ด ๋๋๋ค์ ๋ฐ์๋๋ค. ํ๋์ ๋
ผ๋ฆฌ์ ์ธ ์์
์ค๋ฐ์, ์ฌ๊ณ ๊ฐ ๋ฐ์ํ๋ฉด ๋
ผ๋ฆฌ์ ์ธ ์์
๋จ์ ๋ด์์ ๋ฐ์ํ ๋ชจ๋ ์ํ๋ฅผ ์ด์ ์ผ๋ก ๋๋๋ ค์ผ ํ๋ค.