다중삽입


기본적으로 INSERT 명령은 하나의 데이터 세트를 저장합니다. 하지만 컬럼의 개수가 일정한 다수의 데이터는 다음과 같이 콤마로 구분하여 복수의 데이터를 입력할 수 있습니다.

|쿼리 문법|

INSERT INTO 테이블명 VALUES (value1, value2, value3, ...),
(value1, value2, value3, ...), (value1, value2, value3, ...);

위처럼 기존 INSERT INTO 문구에서 데이터 블록을 콤마 (,)로 구분하여 여러 데이터를 한 번에 입력할 수 있는 문법을 만들 수 있습니다.


쿼리 실습


2개의 데이터를 하나의 INSERT 쿼리를 생성하여 저장합니다.

|예제 쿼리|

insert into members values ('','james','kim','youngdun-po','seoul','korea'), ('','eric','jung','seocho-gu','seoul','korea');

2개의 데이터는 ‘괄호 + 콤마 + 괄호’ 형태로 구분됩니다.

|콘솔 실습 화면|

mysql> insert into members values ('','james','kim','youngdun-po','seoul','korea'), ('','eric','jung','seocho-gu','seoul','korea');
Query OK, 2 rows affected, 2 warnings (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 2

쿼리가 정상적으로 수행되었습니다. 또한 2개의 데이터가 저장되었다고 결과도 함께 출력합니다. SELECT 명령을 통하여 입력한 데이터를 확인해 봅니다.

|콘솔 실습 화면|

mysql> select * from members;
+----+----------+-----------+-------------+-------+---------+
| Id | LastName | FirstName | Address     | City  | Country |
+----+----------+-----------+-------------+-------+---------+
|  1 | hojin    | lee       | shinchon    | seoul | korea   |
|  2 | jiny     | NULL      | NULL        | NULL  | korea   |
|  3 | james    | kim       | youngdun-po | seoul | korea   |
|  4 | eric     | jung      | seocho-gu   | seoul | korea   |
+----+----------+-----------+-------------+-------+---------+
4 rows in set (0.00 sec)