[SQL] DML, Data Manipulation Language

2022. 3. 11. 19:50SQL

DML 종류

INSERT

UPDATE

DELETE

 

INSERT

테이블에 새로운 행을 추가하는 구문이다.

INSERT INTO <테이블명>(<컬럼명1>, <컬럼명2>)

VALUES(<값1>, <값2>);

 

# VALUES가 문자일 경우 ' '를 붙여서 입력, 숫자일 경우 ' ' 없이 입력

 

1. 데이터 추가

INSERT INTO <테이블명> (<컬럼명1>, <컬럼명2>)

VALUES(<값1>, <값2>);

2. 컬럼목록을 생략하는 경우 데이터 추가

INSERT INTO <테이블명>

VALUES(<값1>, <값2>);

3. 컬럼 목록에 모든 컬럼이 있지 않는 경우

INSERT INTO <테이블명> (<컬럼명1>)

VALUES (<값1>);

 

4. NULL을 명시적으로 저장하는 경우

INSERT INTO <테이블명> (<컬럼명1>, <컬럼명2>)

VALUES(<값1>, null);

5. 서브쿼리로 가져온 결과를 테이블에 저장하는 방법

INSERT INTO <테이블명1> (<컬럼명1>, <컬럼명2>)

          SELECT <컬럼명1>, <컬럼명2>

          FROM <테이블명2>

          WHERE <컬럼명2> = 값;

EXAMPLE2
EXAMPLE

6. 한번에 여러 개의 행을 넣는 방법

INSERT ALL

INTO <테이블명> (<컬럼명1>, <컬럼명2>) VALUES(<값1>, <값2>)

INTO <테이블명> (<컬럼명1>, <컬럼명2>) VALUES(<값1>, <값2>);

SELECT *

FROM DUAL;

# 반드시 서브쿼리를 입력해야한다. 서브쿼리에서 출력되는 ROW 수만큼 각 VALUE들을 INSERT 하게 된다.

 

UPDATE

테이블에 행 값을 수정하는 구문이다.

UPDATE <테이블명>

SET <컬럼명1> = <값1>, <컬럼명2> = <값2>

WHERE <조건문>;

→ 조건문에 해당하는 로우 선택 후 특정 컬럼값 변경

 

DELETE

테이블내 행을 삭제하는 구문이다.

DELETE FROM <테이블명>

WHERE <조건절>;

 

NULL 비교연산자 IS

 

728x90

'SQL' 카테고리의 다른 글

DDL, Data Definition Language  (0) 2022.03.11
수직 결합 SET OPERATOR  (0) 2022.03.11
다중행 서브쿼리 MULTI ROW SUBQUERY 연산자  (0) 2022.03.11
서브쿼리  (0) 2022.03.11
계층형 쿼리  (0) 2022.03.11