MySQL 단일 열 다중 삽입 문법
MySQL에서 하나의 열(column)에 여러 개의 값을 한 번에 삽입하려면 INSERT 문에서 값을 쉼표로 구분하여 나열하는 방식을 사용합니다. 기본 문법은 다음과 같습니다.
INSERT INTO 테이블이름(컬럼이름)
VALUES('값1'),('값2'),('값3'),('값4'),.........N;
이처럼 각 값을 괄호로 묶고 쉼표로 연결하면, 하나의 INSERT 문으로 여러 행을 동시에 추가할 수 있습니다. 이는 개별적으로 INSERT 문을 반복 실행하는 것보다 성능 면에서도 유리합니다.
예제 테이블 생성
문법을 실제로 이해하기 위해 예제용 테이블을 먼저 만들어 보겠습니다. 아래는 테이블 생성 쿼리입니다.
mysql> create table InsertMultipleDemo
-> (
-> Id int NOT NULL AUTO_INCREMENT,
-> UserName varchar(10),
-> UserRole varchar(20),
-> PRIMARY KEY(Id)
-> );
Query OK, 0 rows affected (3.14 sec)
위 테이블은 자동 증가(AUTO_INCREMENT)되는 Id를 기본 키로 가지며, UserName과 UserRole 두 개의 문자열 컬럼을 포함하고 있습니다.
여러 값 삽입하기
이제 INSERT 명령어를 사용해 UserRole 컬럼에 여러 값을 한 번에 삽입해 보겠습니다.
mysql> insert into InsertMultipleDemo(UserRole) values('Admin'),('Author'),('Driver'),('Guest');
Query OK, 4 rows affected (0.17 sec)
Records: 4 Duplicates: 0 Warnings: 0실행 결과를 보면 4 rows affected, 즉 4개의 행이 정상적으로 삽입된 것을 확인할 수 있습니다. 중복된 레코드나 경고 없이 깔끔하게 처리되었습니다.
삽입 결과 확인
SELECT 문을 사용하여 테이블의 모든 레코드를 조회해 삽입이 제대로 되었는지 확인합니다.
mysql> select UserRole from InsertMultipleDemo;
실행 결과는 다음과 같습니다.
+----------+
| UserRole |
+----------+
| Admin |
| Author |
| Driver |
| Guest |
+----------+
4 rows in set (0.00 sec)
결과에서 볼 수 있듯이 'Admin', 'Author', 'Driver', 'Guest' 네 개의 값이 UserRole 컬럼에 순서대로 저장되었습니다. 이처럼 MySQL의 다중 VALUES 절을 활용하면 코드가 간결해지고 데이터베이스와의 통신 횟수도 줄어들어 대량의 데이터를 삽입할 때 특히 효율적입니다.