다중삽입
기본적으로 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)