[ DML ]
DML (data manipulation language) : INSERT, UPDATE, DELETE, MERGE
๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๋ช ๋ น์ด์ด๋ค!
[INSERT]
์๋ก์ด ๋ฐ์ดํฐ ์ ๋ ฅํ๊ธฐ
์ซ์ ์ด์ธ์๋ '' ์์ ๋ฐ์ดํ๋ก ๊ฐ์ผ๋ค.
INSERT INTO table (์ปฌ๋ผ1,์ปฌ๋ผ2)
values (1,2);
-- ๋ชจ๋ ์ปฌ๋ผ์ ๋ฃ์ ๊ฒฝ์ฐ ์๋ต ๊ฐ๋ฅ
INSERT INTO table
values (1,2,3,4,5);
( ITAS ) ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ ์ ๋ ฅํ๋ ๋ฐฉ๋ฒ
[UPDATE]
๊ธฐ์กด ๋ฐ์ดํฐ ๋ณ๊ฒฝํ๊ธฐ
UPDATE table
SET column = value
WEHRE ์กฐ๊ฑด;
[UPDATE JOIN ์กฐ์ธ]
๋ค๋ฅธ ํ ์ด๋ธ๊ณผ ์กฐ์ธํ๋ update
update ๋ฌธ์ ์กฐ์ธ์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ๋
1) where ์ ์๋ง ๋ค๋ฅธ ํ ์ด๋ธ๊ณผ ์กฐ์ธํ๋ ๊ฒฝ์ฐ
2) where ์ ๊ณผ set ์ ๋ชจ๋ ๋ค๋ฅธ ํ ์ด๋ธ๊ณผ ์กฐ์ธํ๋ ๊ฒฝ์ฐ
UPDATE emp
SET sal = (sal + sal*0.1)
WHERE job='clerk'
;
[DELETE]
๋ฐ์ดํฐ ์ญ์
DELETE FROM table
WHERE ์กฐ๊ฑด;
[MERGE]
์ฌ๋ฌ ํ ์ด๋ธ์ ๋ฐ์ดํฐ ๋ณํฉ
ํ ์ด๋ธ 1, ํ ์ด๋ธ 2 ๋ด์ฉ์ ํฉ์ณ์ ํ ์ด๋ธ 1์ ๋ณํฉํ๋ค.
ON ์กฐ๊ฑด์ ์ด ๋ง์กฑํ๋ฉด ~~~~~~~~~
(์ฃผ์) ๋ถํ๊ฐ ๋ง์ด ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ผ๋ฏ๋ก ์ฃผ์ํด์ผํ๋ค !!
MERGE INTO table1
USING table2
ON(๋ณํฉ ์กฐ๊ฑด์ ) --PK, UNIQUE index ์ฌ์ฉ๋จ
WHEN MATCHED THEN
UPDATE SET ์
๋ฐ์ดํธ ๋ด์ฉ
DELETE WHERE ์กฐ๊ฑด
WEHN NOT MATCHED THEN
INSERT VALUES(์ปฌ๋ผ ์ด๋ฆ);
[ํธ๋์ญ์ TRANSACTION ๊ด๋ฆฌ]
ํธ๋์ญ์ ์ด๋ , ๋ ผ๋ฆฌ์ ์ธ ์์ ๋จ์๋ค.
DML ์์ ๋ค์ ํ๋์ ๋จ์๋ก ๋ฌถ์ด๋ ๊ฒ์ด๋ค.
ํธ๋์ญ์ ๋ด ๋ชจ๋ DML ์ด ์ฑ๊ณตํด์ผ, ํธ๋์ญ์ ์ด ์ฑ๊ณตํ๋ค
(์ค์) DML ์์ ์ ํ ํ ๋ฐ๋์ COMMIT ์ด๋ ROLLBACK ๋ฌธ์ด ์คํ๋์ด์ผ, ์์ ์ด ๋ง๋ฌด๋ฆฌ ๋๋ค.
[ COMMIT ]
ํธ๋์ญ์ ๋ด ์์ ๊ฒฐ๊ณผ๋ฅผ ํ์ ํ๋ค.
[ ROLLBACK ]
ํธ๋์ญ์ ๋ด ๋ชจ๋ ๋ช ๋ น์ด๋ฅผ ์ทจ์ํ๋ค.
[UNDO] [REDO]