본문 바로가기
🖊️Certificate/📌SQLD

[SQLD] 2과목 - 3장) 1절. DML

by 빛나고요 2024. 3. 7.
BIG

2과목. SQL 기본 및 활용
3장. 관리구문
1절. DML

 

# DML(Data Manipulation Language)

- 데이터의 삽입(INSERT), 수정(UPDATE), 삭제(DELETE), 병합(MERGE)

- 저장(commit) 혹은 취소(rollback)과정이 반드시 필요!

 

# INSERT

- 테이블에 행을 삽입할 때 사용

- 한 번에 한 행만 입력 가능(SQL Server에는 여러 행 동시 삽입 가능)

- 하나의 컬럼에는 한 값만 삽입 가능

- 컬럼별 데이터타입과 사이즈에 맞게 삽입

- INTO 절에 컬럼명을 명시하여 일부 컬럼만 입력 가능

  ➪ 작성하지 않은 컬럼은 NULL이 입력됨

  ➪ NOT NULL 컬럼의 경우 오류 발생

- 전체 컬럼에 대한 데이터 입력 시 테이블명 뒤의 컬럼명 생략 가능

 

- 문법

INSERT INTO 테이블  VALUES(값1, 값2, ....);  ➪ 전체 컬럼의 값 입력

INSERT INTO 테이블(컬럼1, 컬럼2, ...) VALUES (값1, 값2, ....);  ➪선택한 컬럼만 데이터 입력

 

# UPDATE

- 데이터 수정할 때 사용

- 컬럼 단위 수행

- 다중 컬럼 수정 가능

 

- 문법

① 단일컬럼 수정

UPDATE 테이블명

SET 수정할 컬럼명 = 수정값

WHERE 조건;  ➪ 수정 대상 선택 가능

 

② 다중컬럼 수정

방법1) 

UPDATE 테이블명

SET 수정컬럼명1 = 수정값1, 수정컬럼명2 = 수정값2, ....

WHERE 조건;

 

방법2)

UPDATE 테이블명

SET (수정컬럼명1, 수정컬럼명2, ....) = (SELECT 수정값1, 수정값2,...)

WHERE 조건;

* 서브쿼리의 결과가 수정할 각 행의 값마다 하나씩 전달되어야 함

 

# DELETE

- 데이터를 삭제할 때 사용

- 행 단위 실행

 

- 문법

DELETE [FROM] 테이블명

[WHERE 조건];  ➪ 삭제할 행 선택 가능

 

 

# MERGE

- 데이터 병합

- 참조 테이블과 동일하게 맞추는 작업(참조 테이블의 데이터 입력, 참조 테이블의 값으로 수정 등)

➪ INSERT, UPDATE, DELETE 작업을 동시에 수행

 

- 문법

MERGE INTO 테이블명

USING 참조테이블

ON ( 연결조건 )

WHEN MATCHED THEN

            UPDATE

                   SET 수정 할 내용

WHEN NOT MATCHED THEN

            INSERT VALUES ( 삽일 할 내용 )

댓글