INSERTは、テーブルに行を挿入するSQL文である。

構文

すべての列に値を指定して行を挿入する。

INSERT INTO [schema.]table VALUES (value [,value...]);

一部の列に値を指定して行を挿入する。指定しなかった列には、デフォルト値が設定されていればデフォルト値となる。デフォルト値が設定されていない列はNULLとなる。

INSERT INTO [schema.]table (column [,column...]) VALUES (value [,value...]);

問い合わせ結果を表に挿入する。

INSERT INTO [schema.]table subquery;
INSERT INTO [schema.]table (column [,column...]) subquery;
schema

行を挿入するテーブルが存在するスキーマ(表の所有者)を指定する。自分のスキーマに存在するテーブル(自分が所有するテーブル)に行を挿入する場合は、スキーマの指定を省略できる。

table

行を挿入するテーブルを指定する。

column

列名。カンマで区切って複数指定することができる。列名を指定した場合、特定の列のみに値を挿入することができる。列名を省略した場合は、表を作成したときに指定した順番で列の値を指定する。

value

列の値を指定する。カンマで区切って複数指定することができる。数値や文字列などの固定値、数式及び関数を指定することができる。

DEFAULTを指定すると、列のデフォルト値になる。

NULLを指定すると、NULLになる。

subquery
問い合わせの結果を表に挿入する
INSERT INTO table1 SELECT * FROM table2

問い合わせの結果と固定値を組み合わせることもできる。

INSERT INTO table1 (col1, col2) SELECT 'foo' AS col1, col2 FROM table2
SQL> insert into 従業員表 values ('0001', '山田太郎');

1行が作成されました。

SQL>
スポンサーリンク