INSERT, UPDATE, DELETE
테이블의 row를 추가, 수정, 삭제 하는 예약어이며,
먼저 ROLLBACK과 COMMIT를 알고 사용하는것이 데이터가 손실되는것을 방지 할 수 있다.
ROLLBACK; -- COMMIT 실행 전에 UPDATE된 row를 되돌릴 수 있음.
COMMIT; -- COMMIT을 실행시 밖에서도 적용이 된다. 즉, git 과 동일하게 commit 전 후가 있다.
INSERT INTO
row 추가.
CREATE TABLE test_par(
pkey_01 VARCHAR2(10)
,pkey_02 VARCHAR2(10)
,col_01 VARCHAR2(10)
,col_02 VARCHAR2(10)
, CONSTRAINT pk_test_01 PRIMARY KEY (pkey_01, pkey_02)
);
CREATE TABLE test_chd(
col_01 VARCHAR2(10)
, fkey_01 VARCHAR2(10)
, fkey_02 VARCHAR2(10)
, CONSTRAINT fk_test_01 FOREIGN KEY ( fkey_01,fkey_02) REFERENCES test_par(pkey_01, pkey_02)
);
-- 두개의 테이블 생성.
-- INSERT
INSERT INTO test_par (pkey_01, pkey_02, col_01, col_02)
VALUES ('AAA', 'aaa', '111', '222');
INSERT INTO test_par (pkey_01, pkey_02, col_01, col_02)
VALUES ('BBB', 'bbb', '111', '222');
INSERT INTO test_chd (col_01, fkey_01, fkey_02)
VALUES ('가나다', 'AAA', 'aaa');
INSERT INTO test_chd (col_01, fkey_01, fkey_02)
VALUES ('가나다', 'BBB', 'bbb');
INSERT INTO test_chd (col_01, fkey_01, fkey_02)
VALUES ('가나다', '', '');
-- 생성된 테이블에 row 추가.
ROLLBACK; -- COMMIT 실행 전에 UPDATE된 row를 되돌릴 수 있음.
COMMIT; -- COMMIT을 실행시 밖에서도 적용이 된다. 즉, git 과 동일하게 commit 전 후가 있다.
UPDATE
row 수정
CREATE TABLE emp
AS
SELECT * FROM employees;
-- 복사를 하더라도 제약조건이 복사 되지 않는다.
UPDATE emp
SET salary = 12000, department_id = null -- 여러가지를 세팅할때 , 로 구분하여 세팅이 가능하다
WHERE employee_id = 100;
ROLLBACK; -- COMMIT 실행 전에 UPDATE된 row를 되돌릴 수 있음.
COMMIT; -- COMMIT을 실행시 밖에서도 적용이 된다. 즉, git 과 동일하게 commit 전 후가 있다.
DELETE
row 삭제
DELETE
FROM emp
WHERE salary > 15000;
-- 조건에 맞는 데이터를 삭제 가능하다. 업데이트와 동일하게 커밋전에 롤백이 가능하다.
ROLLBACK; -- COMMIT 실행 전에 UPDATE된 row를 되돌릴 수 있음.
COMMIT; -- COMMIT을 실행시 밖에서도 적용이 된다. 즉, git 과 동일하게 commit 전 후가 있다.
'Language > SQL' 카테고리의 다른 글
Oracle SQL Sequence, Index (시퀀스, 목차(색인)) (0) | 2019.12.26 |
---|---|
Oracle SQL VIEW (0) | 2019.12.21 |
Oracle SQL DML : SELECT 05(SUB QUERY) (0) | 2019.12.21 |
Oracle SQL DML : SELECT 04(JOIN) (0) | 2019.12.21 |
Oracle SQL DML : SELECT 03(ORDER BY, GROUP BY, OVER ...) (0) | 2019.12.21 |