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

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クエリによって一時テーブルへ複数の行を一度に挿入できます。なお、一時テーブルはセッション終了時に自動的に削除されるため、中間結果の保存など一時的なデータ管理に非常に便利です。

  1. 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)

  2. MySQLで1つのINSERT文を使って列に複数の値を一括挿入する方法

    はじめにMySQLでは、1つのINSERT文を繰り返し実行しなくても、単一のクエリだけで同じ列に複数の値を挿入できます。VALUES句の後ろに、挿入したい値をカンマ区切りのタプル(行)として列挙するだけです。この方法はデータベースへの接続回数を減らせるため、大量のデータを登録する際にパフォーマンス面でも大きなメリットがあります。基本構文複数の値を1つの列に挿入する場合の基本構文は以下のとおりです。INSERT INTO テーブル名 VALUES(値1),(値2),...,(値N);このように、各値を丸括弧で囲み、カンマ(,)で区切って並べることで、1回のクエリで複数行をまとめて挿入できます。実