このエントリーをはてなブックマークに追加


一つのINSERTで複数行をINSERTするSQL構文

INSERT文で1レコードのみのINSERTではなく、INSERT1つで複数のレコードをINSERTする構文を以下に記します。

動作確認環境

  • 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構文

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する構文でした。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:08:00