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

MySQL 테이블에 한 번에 두 개 이상의 행을 삽입할 수 있나요?

MySQL에서 여러 행을 한 번에 삽입하는 방법

네, 가능합니다. MySQL에서는 INSERT 문 하나만으로 두 개 이상의 행(레코드)을 동시에 테이블에 삽입할 수 있습니다. VALUES 절 뒤에 쉼표(,)로 구분하여 여러 개의 값 묶음을 나열하면 됩니다.

기본 구문

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

이 방식은 각 행마다 별도의 INSERT 문을 실행하는 것보다 쿼리 호출 횟수가 줄어들어 성능 면에서도 유리합니다.

실습 예제

1단계: 테이블 생성

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

mysql> create table DemoTable811(
   StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   StudentName varchar(100),
   StudentAge int
);
Query OK, 0 rows affected (0.54 sec)

2단계: 여러 행 한 번에 삽입

INSERT 명령 하나로 5명의 학생 정보를 동시에 삽입합니다.

mysql> insert into DemoTable811(StudentName,StudentAge) values('Chris',21),('Robert',22),('David',20),('Bob',19),('Carol',23);
Query OK, 5 rows affected (0.14 sec)
Records: 5 Duplicates: 0 Warnings: 0

실행 결과 메시지에서 "5 rows affected"가 표시되는 것을 확인할 수 있습니다. 즉, 단 한 번의 명령으로 5개의 행이 성공적으로 삽입된 것입니다.

3단계: 삽입된 데이터 확인

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

mysql> select *from DemoTable811;

위 쿼리는 다음과 같은 결과를 출력합니다.

+-----------+-------------+------------+
| StudentId | StudentName | StudentAge |
+-----------+-------------+------------+
|        1 | Chris | 21 |
|        2 | Robert | 22 |
|        3 | David | 20 |
| 4 | Bob | 19 |
| 5 | Carol | 23 |
+-----------+-------------+------------+
5 rows in set (0.00 sec)

정리

이처럼 MySQL에서는 VALUES 절에 여러 값 묶음을 쉼표로 구분하여 나열함으로써, 단일 INSERT 문으로 원하는 만큼의 행을 한 번에 삽입할 수 있습니다. StudentId 컬럼은 AUTO_INCREMENT로 설정되어 있기 때문에 값을 직접 지정하지 않아도 자동으로 순차적인 번호가 부여됩니다.