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

단일 MySQL 쿼리로 임시 테이블에 여러 값 삽입하는 방법

단일 MySQL 쿼리로 임시 테이블에 여러 값 삽입하기

MySQL에서는 INSERT 문 하나만으로 임시 테이블(Temporary Table)에 여러 개의 값을 동시에 삽입할 수 있습니다. VALUES 절에 값들을 쉼표(,)로 구분하여 나열하면 되는데, 이 방식은 쿼리 실행 횟수를 크게 줄여주기 때문에 대량의 데이터를 입력할 때 성능 면에서 매우 유용합니다.

1. 임시 테이블 생성

먼저 CREATE TEMPORARY TABLE 문을 사용해 임시 테이블을 생성합니다. 임시 테이블은 현재 세션에서만 유효하며 세션이 종료되면 자동으로 삭제되므로, 일시적인 데이터 작업에 적합합니다.

mysql> create temporary table DemoTable
(
    SerialNumber int
);
Query OK, 0 rows affected (0.00 sec)

2. 단일 쿼리로 여러 값 삽입

INSERT 문에서 VALUES 뒤에 괄호로 묶은 값 그룹들을 쉼표로 나열하면, 한 번의 실행으로 여러 행을 동시에 삽입할 수 있습니다.

mysql> insert into DemoTable values(1),(2),(3),(4),(5),(6),(7),(8);
Query OK, 8 rows affected (0.00 sec)
Records: 8 Duplicates: 0 Warnings: 0

실행 결과를 보면 8개의 행이 단 한 번의 쿼리로 오류나 중복 없이 정상적으로 삽입되었음을 확인할 수 있습니다.

3. 삽입된 데이터 확인

SELECT 문으로 테이블의 모든 레코드를 조회하여 삽입 결과를 검증합니다.

mysql> select *from DemoTable;
+--------------+
| SerialNumber |
+--------------+
|            1 |
|            2 |
|            3 |
|            4 |
|            5 |
|            6 |
|            7 |
|            8 |
+--------------+
8 rows in set (0.00 sec)

정리

VALUES 절에 여러 개의 값 그룹을 쉼표로 구분해 나열하면, 단일 INSERT 쿼리만으로 임시 테이블에 여러 행을 한꺼번에 삽입할 수 있습니다. 이는 각 행마다 별도의 INSERT 문을 실행하는 것보다 네트워크 왕복 횟수와 처리 오버헤드를 줄여주므로, 대량 데이터 입력 시 성능 최적화에 큰 도움이 됩니다.