MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLのテーブルに一度に複数の行を挿入することはできる?

はい、MySQLではINSERT文を1回実行するだけで、2つ以上の行(レコード)を同時にテーブルへ挿入することができます。VALUES句の後ろにカンマ区切りで値のセットを並べるだけで、まとめて登録が可能です。

複数行挿入の基本構文

複数の行を一括挿入する際の基本的な書式は以下のとおりです。

insert into yourTableName(yourColumnName1,yourColumnName2) values(yourValue1,yourValue2),(yourValue1,yourValue2),.........N;

このように、values(...) をカンマで区切って必要な数だけ繰り返すことで、任意の件数のレコードを1つのSQL文で挿入できます。

実際に試してみよう

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)

ここでは、自動採番される StudentId を主キーとし、学生名と年齢を格納するシンプルなテーブルを定義しています。

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

実行結果を見ると「Query OK, 5 rows affected」と表示されており、たった1回のINSERT文で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)

AUTO_INCREMENTによって StudentId には自動的に連番が振られ、5件すべてのデータが正しく登録されていることが確認できました。

まとめ

MySQLでは、VALUES句に値のセットをカンマ区切りで列挙するだけで、1回のINSERT文で複数行を効率的に挿入できます。個別にINSERT文を実行するのに比べて通信回数や処理オーバーヘッドを削減できるため、大量のデータを登録する場面では特に有効な手法です。

  1. auto_increment値を指定せずにMySQLテーブルへレコードを挿入する方法

    auto_increment値なしでレコード挿入は可能か?はい、可能です。AUTO_INCREMENTが設定されたカラムは、INSERT時に値を明示的に指定しなくても、MySQLが自動的に連番を採番してくれるためです。この記事では、実際にテーブルを作成し、auto_increment値を省略してレコードを挿入する手順を解説します。1. テーブルの作成まず、EmployeeIdカラムにAUTO_INCREMENTとPRIMARY KEYを設定したテーブルを作成します。mysql> create table DemoTable1479 -> ( -> Employ

  2. MySQLテーブルにJSONデータを挿入する方法

    MySQLでは、JSON型のカラムを作成することで、構造化されたデータをそのまま保存できます。ここでは、JSON型カラムを持つテーブルを作成し、実際にデータを挿入・取得する手順を解説します。 1. JSON型カラムを持つテーブルを作成する まず、JSON型のカラム「ListOfNames」を持つテーブルを作成します。 mysql> create table DemoTable1832     (     ListOfNames JSON     ); Query OK,