[SQL 기초 강좌] INSERT

테이블에 새로운 데이터를 입력할 때는 INSERT 문을 사용합니다.

기본 사용법

기본적인 사용법은 아래처럼 1개의 새로운 행(row)을 추가하는 것입니다. 테이블명 뒤 괄호에 입력할 컬럼명을 나열하고 VALUES 절 뒤의 괄호에 값을 순서대로 나열합니다.

INSERT INTO CUST ( CUSTNO, CUSTNM ) VALUES ( 1000, '이서진' );

권장하지 않지만 입력 대상 컬럼을 생략하는 방법도 있습니다. 이 때는 VALUES 절에 테이블의 모든 컬럼에 대한 값을 나열해야 합니다. 그리고 나열한 값의 순서는 테이블의 컬럼 정의 순서와 정확히 일치해야 합니다.

INSERT INTO CUST  VALUES ( 1000, '이서진',  NULL, NULL );

입력 대상 컬럼을 생략하는 방식은 권장하지 않습니다. 나중에 테이블의 컬럼을 추가하거나 삭제하면 이렇게 작성한 INSERT 문은 오류가 발생합니다. 컬럼의 개수와 값의 개수가 일치하지 않기 때문입니다.

SELECT 결과 입력하기

INSERT 문은 SELECT 문의 조회 결과를 바로 입력할 수 있습니다. 이 때는 VALUES 절 대신 이 위치에 SELECT 문을 바로 사용하면 됩니다.

INSERT INTO CUST ( CUST_NO, CUST_NM )
SELECT CUST_NO, CUST_NM
FROM   TMP;

이 예시는 TMP 테이블의 조회결과를 CUST 테이블에 그대로 입력합니다. 한 번의 INSERT 문으로 여러건을 동시에 입력할 수 있습니다.

데이터 변경을 확정하고 싶으면 COMMIT을 하고 취소하고 싶으면 ROLLBACK을 입력합니다.

INSERT, UPDATE, DELETE 처럼 DML문을 사용한 후에는 COMMIT 이나 ROLLBACK을 통해서 데이터 변경사항을 확정하거나 취소할 수 있습니다. COMMIT을 하지 않고 종료하면 변경사항이 DB에 저장되지 않습니다.

위로 스크롤