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文を実行するのに比べて、データベースとの通信回数が減り、パフォーマンス面でも大きなメリットがあります。大量の初期データ投入やバッチ処理などでぜひ活用してください。
-
Javaを使ってMySQLテーブルにレコードを挿入する方法
はじめに本記事では、JavaのJDBC(Java Database Connectivity)を使用して、MySQLデータベースのテーブルにレコードを挿入する手順を解説します。まずテーブルを作成し、その後Javaプログラムからデータを登録するまでの一連の流れを見ていきましょう。1. MySQLでテーブルを作成するまず、データを挿入するためのテーブルを作成します。以下はMySQLでテーブルを作成するクエリです。mysql> create table DemoTable( Id int, Name varchar(30),&
-
JavaでMySQLテーブルに1つのカラムのみを挿入する方法
JavaとMySQLを連携させる際、テーブルの一部のカラムだけにデータを挿入したいケースはよくあります。その場合は、JDBCのINSERT INTOステートメントを使用します。挿入対象のカラム名を明示的に指定することで、他のカラムには影響を与えずに1つのカラムのみへ値を登録できます。この記事では、実際にテーブルを作成し、Javaのコードから「Name」という1つのカラムだけにデータを挿入する手順を解説します。1. 挿入先のテーブルを作成するまず、MySQLで以下のようにテーブルを作成しておきましょう。ここでは、varchar型の「Name」カラムを1つだけ持つシンプルなテーブルを用意します。m