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

MySQLで1つのINSERT文を使って複数の値セットを一括挿入する方法

MySQLでは、1つのINSERT文に複数の値セットをカンマ区切りで指定することで、複数行のデータを一度にテーブルへ挿入できます。この記事では、実際のコード例を使ってその手順をわかりやすく解説します。

1. テーブルを作成する

まず、サンプル用のテーブルを作成しましょう。ここではユーザーID・名前・年齢を持つ「DemoTable」を使用します。

mysql> create table DemoTable
   (
   UserId int,
   UserName varchar(20),
   UserAge int
   );
Query OK, 0 rows affected (0.53 sec)

2. 1つのINSERT文で複数レコードを挿入する

INSERT INTO文では、VALUESの後に値のセットをカンマ(,)で区切って並べることで、複数のレコードをまとめて挿入できます。

mysql> insert into DemoTable(UserId,UserName,UserAge) values(100,'John',25),(101,'Larry',24),(102,'Chris',22),(103,'Carol',27);
Query OK, 4 rows affected (0.16 sec)
Records: 4 Duplicates: 0 Warnings: 0

実行結果を見ると、「4 rows affected」と表示されており、4件のレコードが1回のクエリで正常に挿入されたことが確認できます。

3. 挿入したデータを確認する

SELECT文を使って、テーブル内のすべてのレコードを表示してみましょう。

mysql> select *from DemoTable;

上記のクエリを実行すると、次のような結果が出力されます。

+--------+----------+---------+
| UserId | UserName | UserAge |
+--------+----------+---------+
|    100 | John     |      25 |
|    101 | Larry    |      24 |
|    102 | Chris    |      22 |
|    103 | Carol    |      27 |
+--------+----------+---------+
4 rows in set (0.00 sec)

まとめ

このように、VALUES (…),(…),(…) の形式で値セットをカンマ区切りで列挙すれば、1つのINSERT文だけで複数行を効率的に挿入できます。個別にINSERT文を実行するのに比べて、データベースとの通信回数が減り、パフォーマンス面でも大きなメリットがあります。大量の初期データ投入やバッチ処理などでぜひ活用してください。

  1. Javaを使ってMySQLテーブルにレコードを挿入する方法

    はじめに本記事では、JavaのJDBC(Java Database Connectivity)を使用して、MySQLデータベースのテーブルにレコードを挿入する手順を解説します。まずテーブルを作成し、その後Javaプログラムからデータを登録するまでの一連の流れを見ていきましょう。1. MySQLでテーブルを作成するまず、データを挿入するためのテーブルを作成します。以下はMySQLでテーブルを作成するクエリです。mysql> create table DemoTable(   Id int,   Name varchar(30),&

  2. JavaでMySQLテーブルに1つのカラムのみを挿入する方法

    JavaとMySQLを連携させる際、テーブルの一部のカラムだけにデータを挿入したいケースはよくあります。その場合は、JDBCのINSERT INTOステートメントを使用します。挿入対象のカラム名を明示的に指定することで、他のカラムには影響を与えずに1つのカラムのみへ値を登録できます。この記事では、実際にテーブルを作成し、Javaのコードから「Name」という1つのカラムだけにデータを挿入する手順を解説します。1. 挿入先のテーブルを作成するまず、MySQLで以下のようにテーブルを作成しておきましょう。ここでは、varchar型の「Name」カラムを1つだけ持つシンプルなテーブルを用意します。m