DML(Data Manipulation Language)
2023. 1. 11. 11:10ㆍSQL
DML이란?
- 데이터 조작어이다.
- 테이블에 행을 추가 삽입(INSERT)하거나, 컬럼값을 수정(UPDATE)하거나 행을 삭제(DELETE)하는 구문이다.
1. INSERT
- 새로운 행을 테이블에 추가하는 구문이다. 테이블의 행 개수가 증가한다.
INSERT INTO EMPLOYEE
VALUES(900, '조니', '901123-1080501', 'jajajaj', '01015523442', 'D1', 'J8', 'S3', 43000000, 0.2, '200', NULL);
2. INSERT ALL
- INSERT시 사용하는 서브쿼리가 사용하는 테이블이 같은 경우, 두 개 이상의 테이블에 INSERT ALL을 이용하여 한번에 삽입을 할 수 있다.
- 단, 각 서브쿼리의 조건절이 같아야 한다.
3. MERGE
- 구조가 같은 두 개의 테이블을 하나의 테이블로 합치는 기능을 한다.
- 두 테이블에서 지정하는 조건의 값이 존재하면 UPDATE되고, 조건의 값이 없으면 INSERT 되도록 한다.
MERGE INTO EMP _M01 USING EMP _M02 ON(EMP _M01.EMP_ID = EMP _M02.EMP_ID)
WHEN MATHCED THEN
UPDATE SET
4. UPDATE
- 테이블에 기록된 컬럼의 값을 수정하는 구문이다.
- 테이블의 전체 행 개수에는 변화가 없다.
UPDATE DEPT_COPY
SET DEPT_TITEL = '전략기획팀'
WHERE DEPT_ID = 'D9';
5. DELETE
- 테이블의 행을 삭제하는 구문이다. 테이블의 행 개수가 줄어든다.
- 삭제 시 FOREIGN KEY 제약조건으로 컬럼 삭제가 불가능한 경우, 제약조건을 비활성화 할 수 있다.
DELETE FROM EMPLOYEE
WHERE EMP_NAME = '조니';
6. TRUNCATE
- 테이블의 전체 행을 삭제 시 사용한다.
- DELETE문 보다 수행 속도가 빠르지만, ROLLBACK을 통해 복구를 할 수 없다.
- 또한, DELETE와 마찬가지로 FOREIGN KEY 제약조건일 때는 적용 불가능하기 때문에 제약조건을 비활성화 해야 삭제를 할 수 있다.
'SQL' 카테고리의 다른 글
DDL(Data Definition Language) (0) | 2023.01.09 |
---|