MySQLの単一クエリで一時テーブルに複数の値を挿入する方法
MySQLでは、単一のINSERTクエリを使って一時テーブルに複数の値を一度に挿入できます。VALUES句にカンマ区切りで値を並べるだけで、複数行のデータを効率的に登録可能です。ここでは、その具体的な手順を順番に見ていきましょう。
手順1:一時テーブルを作成する
まず、CREATE TEMPORARY TABLE文を使って一時テーブルを作成します。
mysql> create temporary table DemoTable ( SerialNumber int ); Query OK, 0 rows affected (0.00 sec)
手順2:単一のINSERT文で複数の値を挿入する
続いて、INSERTコマンドでテーブルにレコードを挿入します。ポイントは、VALUES句の後に「(1),(2),(3)…」のように値のセットをカンマで区切って記述することです。これにより、1つのクエリで複数の行をまとめて挿入できます。
mysql> insert into DemoTable values(1),(2),(3),(4),(5),(6),(7),(8); Query OK, 8 rows affected (0.00 sec) Records: 8 Duplicates: 0 Warnings: 0
実行結果の「Records: 8」から、8件のレコードが正常に挿入されたことが確認できます。
手順3:SELECT文でレコードを確認する
最後に、SELECT文ですべてのレコードを表示し、正しく挿入されているかをチェックしましょう。
mysql> select *from DemoTable;
このクエリを実行すると、以下のような出力が得られます。
+--------------+ | SerialNumber | +--------------+ | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | +--------------+ 8 rows in set (0.00 sec)
まとめ
VALUES句に複数の値セットをカンマ区切りで指定するだけで、単一のINSERTクエリによって一時テーブルへ複数の行を一度に挿入できます。なお、一時テーブルはセッション終了時に自動的に削除されるため、中間結果の保存など一時的なデータ管理に非常に便利です。
-
MySQLのDELETE文とIN句を組み合わせて1つのクエリで複数レコードを削除する方法
MySQLでは、IN()句を活用することで、複数の条件値に一致するレコードを1つのDELETEクエリでまとめて削除できます。個別に削除クエリを実行する必要がなく、効率的なデータ操作が可能になります。ここでは、サンプルテーブルを作成し、実際にIN()句を使ったレコード削除の手順を解説します。1. サンプルテーブルの作成まず、テーブルを作成しましょう。mysql> create table DemoTable1922 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20)
-
MySQLで1つのINSERT文を使って列に複数の値を一括挿入する方法
はじめにMySQLでは、1つのINSERT文を繰り返し実行しなくても、単一のクエリだけで同じ列に複数の値を挿入できます。VALUES句の後ろに、挿入したい値をカンマ区切りのタプル(行)として列挙するだけです。この方法はデータベースへの接続回数を減らせるため、大量のデータを登録する際にパフォーマンス面でも大きなメリットがあります。基本構文複数の値を1つの列に挿入する場合の基本構文は以下のとおりです。INSERT INTO テーブル名 VALUES(値1),(値2),...,(値N);このように、各値を丸括弧で囲み、カンマ(,)で区切って並べることで、1回のクエリで複数行をまとめて挿入できます。実