読み方 : インサートぶん

INSERT文【INSERT statement】INSERT INTO

INSERT文とは?

リレーショナルデータベース(RDB)を操作する言語であるSQLStructured Query Language)に用意された構文の一つで、テーブルに行(レコード)を追加するもの。
INSERT文のイメージ画像

基本的な構文は「INSERT INTO 表名(列名1, 列名2, …) VALUES(値1,値2,…)」というもので、列名1に値1、列名2に値2という具合に、指定された順に各列に値が代入された新しい行が追加される。列名の指定を省略するとテーブル作成時に定義された順序に従って値が代入される。

例えば、「INSERT INTO users(name, age) VALUES("田中", 30)」と書けば、usersテーブルに「田中・30歳」の1行が追加される。列名の指定を省略することも可能で、その場合はテーブル定義の列の順序に従って値が代入される。列名を明示する書き方のほうが可読性が高く、テーブルの構造が変わった際の誤りも防ぎやすいため、省略せずに指定する方が一般的である。

特定の列に「DEFAULT」を指定することでその列のデフォルト値を代入することができ、「VALUES DEFAULT」とすればすべての列をデフォルト値にすることもできる。値を省略できる列や自動で連番が割り当てられる列については、あらかじめテーブル側の設定をよく把握しておく必要がある。SELECT文と組み合わせ、別のテーブルからの抽出結果をそのまま挿入することもできる。

INSERT文を実行する際は、列のデータ型や制約との整合性に注意が必要である。数値型の列に文字列を入れたり、「NOT NULL制約」が設定されて空欄(NULL値)が認められない列に値を指定しなかったりするとエラーになり、挿入操作は拒否される。主キーや一意制約が設定された列への重複した値の挿入も同様にエラーとなる。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。