SQL INSERT 구문

IT 위키

SQL의 INSERT 구문은 테이블에 새로운 데이터를 추가(삽입)할 때 사용하는 명령어이다. 새로운 행(row)을 하나 또는 여러 개 삽입할 수 있으며, 명시적으로 컬럼을 지정하거나 테이블 구조에 따라 자동 매핑할 수 있다.

기본 문법[편집 | 원본 편집]

INSERT INTO 테이블명 (컬럼1, 컬럼2, ...)
VALUES (1, 2, ...);
  • 컬럼 목록 생략 시 테이블의 모든 컬럼 순서에 맞게 값을 지정해야 한다.
INSERT INTO 테이블명
VALUES (1, 2, ...);

예시 테이블[편집 | 원본 편집]

employees 테이블이 다음과 같다고 가정한다.

id name department salary
1 Alice IT 6000
2 Bob HR 4000

단일 행 삽입 예시[편집 | 원본 편집]

1. 컬럼 지정 후 삽입[편집 | 원본 편집]

INSERT INTO employees (id, name, department, salary)
VALUES (3, 'Carol', 'IT', 7000);

2. 컬럼 생략 (테이블 정의 순서와 값 순서가 일치해야 함)[편집 | 원본 편집]

INSERT INTO employees
VALUES (4, 'Dave', 'Sales', 4500);

다중 행 삽입[편집 | 원본 편집]

INSERT INTO employees (id, name, department, salary)
VALUES
  (5, 'Eve', 'IT', 5000),
  (6, 'Frank', 'Finance', 5500);

다른 테이블에서 복사하여 삽입[편집 | 원본 편집]

INSERT INTO employees_backup (id, name, department, salary)
SELECT id, name, department, salary FROM employees WHERE department = 'IT';

주의 사항[편집 | 원본 편집]

  • 컬럼의 데이터 타입과 값의 타입이 일치해야 함
  • NOT NULL 제약 조건이 있는 컬럼은 반드시 값을 지정해야 함
  • 기본 키 중복이 발생하면 오류가 발생할 수 있음
  • AUTO_INCREMENT 또는 SERIAL 컬럼은 생략 가능

같이 보기[편집 | 원본 편집]

참고 문헌[편집 | 원본 편집]

  • Melton, J., & Simon, A. R. (2002). SQL: 1999 – Understanding Relational Language Components. Morgan Kaufmann.
  • MySQL Reference Manual
  • PostgreSQL Documentation
  • Oracle SQL Language Reference