INSERT

INSERT (데이터 삽입)

기존 테이블에 새 행을 추가하는 가장 기본적인 DML 문이에요. 다른 테이블에서 데이터를 복사해 넣거나, 값을 직접 지정해 넣을 수 있어요.

출처: 문서

본문

테이블에 새 행을 삽입해요.

컬럼 이름 목록을 지정하면, 그 목록은 쿼리가 만들어내는 컬럼 목록과 정확히 일치해야 해요. 컬럼 목록에 없는 테이블의 각 컬럼은 null 값으로 채워져요. 반대로 컬럼 목록을 지정하지 않으면, 쿼리가 만들어내는 컬럼이 삽입 대상 테이블의 컬럼과 정확히 일치해야 해요.

예시

new_orders 테이블에서 orders 테이블로 추가 행을 불러와요:

INSERT INTO orders
SELECT * FROM new_orders;

cities 테이블에 단일 행을 삽입해요:

INSERT INTO cities VALUES (1, 'San Francisco');

cities 테이블에 여러 행을 삽입해요:

INSERT INTO cities VALUES (2, 'San Jose'), (3, 'Oakland');

지정된 컬럼 목록으로 nation 테이블에 단일 행을 삽입해요:

INSERT INTO nation (nationkey, name, regionkey, comment)
VALUES (26, 'POLAND', 3, 'no comment');

comment 컬럼을 지정하지 않고 행을 삽입해요. 그 컬럼은 null이 돼요:

INSERT INTO nation (nationkey, name, regionkey)
VALUES (26, 'POLAND', 3);

cities 테이블의 audit 브랜치에 단일 행을 삽입해요:

INSERT INTO cities @ audit VALUES (1, 'San Francisco');

더 알아보기 (Learn more)

INSERT ... VALUES에서 쓴 값 나열 문법이 더 궁금하다면 VALUES 문서에서 자세히 다루고 있어요.