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

MySQL 단일 쿼리로 한 열에 여러 값 삽입하는 방법

MySQL에서 INSERT 문 하나만으로 한 열에 여러 개의 값을 삽입하고 싶다면, 각 값을 괄호로 묶어 쉼표로 나열하는 방식을 사용하면 됩니다. 이 방법은 여러 번의 INSERT 문을 실행하는 것보다 훨씬 효율적이며, 데이터베이스와의 통신 횟수도 줄여줍니다.

기본 문법

단일 쿼리로 여러 값을 삽입할 때의 기본 문법은 다음과 같습니다.

INSERT INTO yourTableName VALUES(yourValue1),(yourValue2),..........N;

각각의 괄호 ()는 테이블에 삽입될 하나의 행을 의미합니다. 이렇게 하면 하나의 INSERT 문으로 원하는 만큼 많은 행을 한꺼번에 추가할 수 있습니다.

예제 테이블 생성

실제 동작을 확인하기 위해 먼저 예제용 테이블을 생성해 보겠습니다.

mysql> create table DemoTable2022
    -> (
    -> Department varchar(100)
    -> );
Query OK, 0 rows affected (0.49 sec)

위 쿼리는 학과 이름을 저장하기 위한 Department라는 varchar(100) 타입의 열 하나를 가진 테이블을 만듭니다.

여러 값 한 번에 삽입하기

이제 INSERT 명령을 사용해 여러 개의 레코드를 한 번에 삽입해 보겠습니다.

mysql> insert into DemoTable2022 values('Computer Science'),('Information Technology'),
   ('Civil'),('Mechanical'),('Electronics'),('Electrical');
Query OK, 6 rows affected (0.46 sec)
Records: 6 Duplicates: 0 Warnings: 0

실행 결과를 보면 6 rows affected, 즉 6개의 행이 성공적으로 삽입되었음을 알 수 있습니다. 중복된 행도 없고 경고도 발생하지 않았습니다.

삽입 결과 확인하기

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

mysql> select *from DemoTable2022;

위 쿼리를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

+---------------------------+
| Department                |
+---------------------------+
| Computer Science          |
| Information Technology    |
| Civil                     |
| Mechanical                |
| Electronics               |
| Electrical                |
+---------------------------+
6 rows in set (0.00 sec)

정리

이처럼 MySQL에서는 INSERT 문 하나에 여러 개의 값 그룹을 괄호와 쉼표로 구분하여 나열함으로써, 단일 쿼리로 한 열(또는 여러 열)에 대량의 데이터를 빠르고 간편하게 삽입할 수 있습니다. 대량의 데이터를 처리할 때 이 방식을 활용하면 쿼리 실행 시간과 서버 부하를 크게 줄일 수 있습니다.