#navi(../)
* 一つのINSERTで複数行をINSERTするSQL構文 [#bce27f68]
INSERT文で1レコードのみのINSERTではなく、INSERT1つで複数のレコードをINSERTする構文を以下に記します。

#contents
#htmlinsertpcsp(db-top.html,db-sp.html)

* 動作確認環境 [#r9842afd]
-OS

 $ 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構文 [#f08957f8]
INSERT1つで複数のレコードをINSERTするSQL構文は以下の通りです。
 INSERT INTO テーブル名 VALUES
 (1レコード目),
 (2レコード目),
      :
 (nレコード目);

* 試してみる [#c1be499d]
以下の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する構文でした。

#htmlinsertpcsp(db-btm.html,db-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS