【MySQL】バルクインサートの書き方:サンプルあり


ここではMySQLで、バルクインサートの書き方を紹介しています。

バルクインサートとは

バルクインサートとは、複数行のINSERT文を1つのINSERT文として実行するものです。

バルクインサートの書き方

バルクインサートの基本的な書き方は次の通りです。

INSERT INTO テーブル名(列名1[,列名2・・・])
VALUES(値1[,値2・・・]),(値1[,値2・・・]),(値1[,値2・・・])・・・;

実際に次のテーブルに3件のレコードを登録して試してみます。

mysql> CREATE TABLE tab2(
    ->  dept varChar(10)
    ->  ,dept_name varChar(100)
    -> );
Query OK, 0 rows affected (0.08 sec)

3件のレコードを1回のINSERT文で登録することができました。

mysql> INSERT INTO tab2 VALUES('D0001','HR'),('D0002','SALES'),('D0003','DEV');
Query OK, 3 rows affected (0.02 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM tab2;
+-------+-----------+
| dept  | dept_name |
+-------+-----------+
| D0001 | HR        |
| D0002 | SALES     |
| D0003 | DEV       |
+-------+-----------+
3 rows in set (0.01 sec)

通常のINSERT文と同じく、テーブル名の後の列名は省略することもできました。