Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 단일 INSERT 문으로 여러 값 세트를 한 번에 삽입하는 방법

MySQL에서는 INSERT 문 하나만으로 여러 개의 행(값 세트)을 동시에 삽입할 수 있습니다. VALUES 절 뒤에 쉼표(,)로 구분된 여러 값을 나열하기만 하면 되며, 이 방식은 레코드를 하나씩 삽입할 때보다 실행 속도가 빠르고 코드도 간결해집니다.

1. 테이블 생성하기

먼저 예제에 사용할 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
(
UserId int,
UserName varchar(20),
UserAge int
);
Query OK, 0 rows affected (0.53 sec)

2. 단일 INSERT 문으로 여러 레코드 삽입하기

INSERT 명령의 VALUES 절에 여러 값 세트를 쉼표로 구분하여 한 번에 삽입합니다.

mysql> insert into DemoTable(UserId,UserName,UserAge) values(100,'John',25),(101,'Larry',24),(102,'Chris',22),(103,'Carol',27);
Query OK, 4 rows affected (0.16 sec)
Records: 4 Duplicates: 0 Warnings: 0

실행 결과를 보면 4개의 레코드가 한 번의 명령으로 모두 삽입되었음을 확인할 수 있습니다.

3. 삽입된 데이터 확인하기

SELECT 문을 사용하여 테이블의 모든 레코드를 조회해 보겠습니다.

mysql> select *from DemoTable;

위 명령은 다음과 같은 결과를 출력합니다.

+--------+----------+---------+
| UserId | UserName | UserAge |
+--------+----------+---------+
| 100 | John | 25 |
| 101 | Larry | 24 |
| 102 | Chris | 22 |
| 103 | Carol | 27 |
+--------+----------+---------+
4 rows in set (0.00 sec)

정리

단일 INSERT 문으로 여러 값을 삽입하는 기본 문법은 다음과 같습니다.

INSERT INTO 테이블명(컬럼1, 컬럼2, ...) VALUES
(값1, 값2, ...),
(값1, 값2, ...),
...;

이처럼 VALUES 절에 여러 값 세트를 쉼표로 구분해 나열하면, 네트워크 왕복 횟수를 줄여 대량의 데이터를 삽입할 때 성능 면에서 큰 이점을 얻을 수 있습니다.