반응형
1) DML
Data Manipulation Language
테이블에 데이터를 INSERT, DELETE, UPDATE, MERGE
자동 Commit이 되지 않는다.
2) DML의 종류
SELECT
INSERT
UPDATE
DELETE
3) INSERT(행 추가)
방법 1.
INSERT INTO 테이블명 [col1, col2, ...]
VALUES (val1, val2, ...);
INSERT INTO 테이블명 [col1, col2, ...]
VALUES (val1, val2, ...);
컬럼명을 생략할경우 VALUES에 모든 컬럼 값을 입력해야한다.
방법 2.
INSERT INTO 테이블명
Subquery;
Subquery에서 출력되는 내용들이 테이블에 추가된다.
방법 3.
INSERT ALL
[WHEN 조건식 THEN]
INTO 테이블명 VALUES (col1, col2, ...)
[WHEN 조건식 THEN]
INTO 테이블명 VALUES (col1, col2, ...)
Subquery;
조건이 해당될 때 그에 맞는 값을 삽입한다.
4) UPDATE(데이터 수정)
UPDATE 테이블명
SET col1= val1 [, col2= val2, ...] | Subquery
[WHERE ...];
WHERE문을 생락시 모든 값이 변경된다.
WHERE문 작성시 TRUE인 값만 SET의 내용대로 변경된다.
5) DELETE(행 삭제)
* undo가 가능하다.
DELETE FROM 테이블명
[WHERE 조건식] | [WHERE col1= (subquery)];
WHERE문을 생략시 모든 행이 삭제된다.
WHERE문 작성시 해당되는 행만 삭제된다.
6) MERGE(테이블 상하 병합)
* 테이블의 구조가 같아야 병합이 가능하다.
MERGE INTO 테이블A aliasA
USING 테이블B aliasB
ON (join 조건)
WHEN MATCHED THEN
UPDATE SET
A.col1= val1,
A.col2= val2,
...
[WHERE ...]
[DELETE WHERE ...]
WHEN NOT MATCHED THEN
INSERT [A.col1, ...]
VALUES (val1, val2, ...)
[WHERE ...];
ON조건이 TRUE일 때 WHEN MATCHED THEN가 동작한다.
ON조건이 FALSE일 때 WHEN NOT MATCHED THEN가 동작한다.
반응형
'데이터분석 > SQL' 카테고리의 다른 글
| Join- ANSI Join (0) | 2020.09.02 |
|---|---|
| Join- ORACLE Join (0) | 2020.09.02 |
| DCL (0) | 2020.09.02 |
| TCL (0) | 2020.09.02 |
| DDL (0) | 2020.09.02 |