一つのINSERTで複数行をINSERTするSQL構文 †INSERT文で1レコードのみのINSERTではなく、INSERT1つで複数のレコードをINSERTする構文を以下に記します。 動作確認環境 †
$ lsb_release -d Description: Ubuntu 12.04.4 LTS
# select version(); version ------------------------------------------------------------------------------------------------------ PostgreSQL 9.1.12 on i686-pc-linux-gnu, compiled by gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 32-bit mysql> select version(); +-------------------------+ | version() | +-------------------------+ | 5.5.35-0ubuntu0.12.04.2 | +-------------------------+ INSERT構文 †INSERT1つで複数のレコードをINSERTするSQL構文は以下の通りです。 INSERT INTO テーブル名 VALUES (1レコード目), (2レコード目), : (nレコード目); 試してみる †以下のSQLに記すテーブルを作成し、INSERTしてみます。 CREATE TABLE t1 (a int, b int, c int); INSERT文 INSERT INTO t1 VALUES (1,1,1), (2,2,2), (3,3,3), (4,4,4), (5,5,5), (6,6,6), (7,7,7), (8,8,8); 上記SQL実行後、SELECT文でt1テーブルを確認してみます。 insdb=# select * from t1; a | b | c ---+---+--- 1 | 1 | 1 2 | 2 | 2 3 | 3 | 3 4 | 4 | 4 5 | 5 | 5 6 | 6 | 6 7 | 7 | 7 8 | 8 | 8 (8 rows) 以上、INSERT1つで複数レコードをINSERTする構文でした。 |