DML
1) INSERT
INSERT INTO DEPT2
VALUES(9001,'TMP_2', 1006, 'TEMP AREA') ;
โทINSERT ๋ก 1ํ์ฉ ์ ๋ ฅ
=ํ ์ด๋ธ ์ด๋ฆ ๋ค์ ์ ๋ ฅํ๊ณ ์ํ๋ ์ปฌ๋ผ์ด๋ฆ๊ณผ VALUES์ ์ปค๋ผ ๋ค์ด๊ฐ ๊ฐ ๋ช ์
โทINSERT + ์๋ธ์ฟผ๋ฆฌ๋ก ์ฌ๋ฌ ํ ์ ๋ ฅํ๊ธฐ
= ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ด์ฉํด ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ ์ ๋ ฅํ๋ ๋ฐฉ๋ฒ -> ITAS
โทINSERT ALL : ์ฌ๋ฌ ํ ์ด๋ธ์ ์ฌ๋ฌํ ์ ๋ ฅ
2) UPDATE
= ๊ธฐ์กด๋ฐ์ดํฐ๋ฅผ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ก ๋ณ๊ฒฝํ ๋ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
UPDATE TABLE
SET COLUMN = VALUE
WHERE ์กฐ๊ฑด ;
์ฌ์ฉ์2)
UPDATE PROFESSOR
SET PAY = PAY *1.15; -- PAY+(PAY*0.15)
WHERE POSITION =( SELECT POSITION -- return ๊ฐ์ด ํ๋์ฌ์ผํจ!!
FORM PROFESSOR
WHERE NAME ='Sharon Stone';) -- 'instructor'
AND PAY < 250
UPDATE PROFESSOR
SET PAY = PAY *1.15; -- PAY+(PAY*0.15)
WHERE POSITION IN = ( SELECT POSITION -- ๊ฐ์ฌ๋ฌ๊ฐ IN ์ฌ์ฉ
FORM PROFESSOR
WHERE NAME ='DEPTNO'
AND PAY < 250
3) DELETE
= DELETE ํ ํ์๋ ํ ์ด๋ธ ํฌ๊ธฐ๋ ์ค์ด๋ค์ง ์๊ณ ๊ทธ๋๋ก์ด๋ค.
DELETE FROM TABLE
WHERE ์กฐ๊ฑด;
4) MERGE
= ์ฌ๋ฌ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ํฉ์น๋ ๋ณํฉ
= 3ํ ํฉ์น๋ ๊ธฐ์ค์ 3ํ์ ์กฐ๊ฑด์ด ๊ธฐ์ค์ด ๋จ,
= 4ํ ์กฐ๊ฑด ๋ง์กฑ์ 1->2 ๋ก UPDATE ๋๋ DELETE ์ํ
= 7ํ ์กฐ๊ฑด ๋ถ๋ง์กฑ์ INSERT ๋จ
=ON์ ์์ ์ค๋ ๋๋ ๊ฐ์ด ์ฌ๋ฌ๊ฐ ์์ผ๋ฉด ์๋ฌ -> ์กฐ๊ฑด์ปฌ๋ผ์ PK, UNIQUE INDEX ์ค์
= ํํ ์ด๋ธ์์ MERGE -> USING DUAL (๊ฐ์ํ ์ด๋ธ)
MERGE INTO CHARGE
USING DUAL
ON U_DATE = TO_CHAR(SYSY~~) AND CUST~ = $SCUST_NO --ํ๋ผ๋ฏธํฐ๋ฐ์๊ฑฐ๋ก
WHEN MATCHED THEN
UPDATE SET U_TIME = U_TIME +1
DELETE WHERE ์กฐ๊ฑด
WHEN NOT MATCHED THEN
INSERT VALUES (TO_CHAR(SYSY~~) ,$SCUST_NO,1);
5) UPDATE ์กฐ์ธ
=WHERE ์ ์์UPDATE ๋์ ๋ฒ์๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด ์กฐ์ธ๋์ง ์์ ๋์์ NULL ๋ก UPDATE ๋๋ค.
SELECT * FROM professor
WHERE profno = 100;
5-1) UPDATE JOIN VIEW MERGE ๋ฌธ
6) TRANSACTION ๊ด๋ฆฌ
= ๋ ผ๋ฆฌ์ ์ธ ์์ ๋จ์
= DML ์์ ๋ค์ ํ๋์ ๋จ์๋ก ๋ฌถ์ด ๋ ๊ฒ
=๋ชจ๋ DML ์ด ์ฑ๊ณตํด์ผ ํธ๋์ญ์ ์ด ์ฑ๊ณตํ๋ ๊ฒ์ด๋ค.
โทCOMMIT : ํธ๋์ญ์ ๋ด์ ์์ ์ ๊ฒฐ๊ณผ๋ฅผ ํ์ ํ๋ ๋ช ๋ น์ด
โทROLLBACK : ํธ๋์ญ์ ๋ด์ ๋ชจ๋ ๋ช ๋ น์ด๋ค์ ์ทจ์ํ๋ ๋ช ๋ น์ด
โทUNDO
โทREDO
โทREORG