読み方 : インサートぶん
INSERT文【INSERT statement】INSERT INTO
INSERT文とは?
リレーショナルデータベース(RDB)を操作する言語であるSQL(Structured Query Language)に用意された構文の一つで、テーブルに行(レコード)を追加するもの。

基本的な構文は「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値)が認められない列に値を指定しなかったりするとエラーになり、挿入操作は拒否される。主キーや一意制約が設定された列への重複した値の挿入も同様にエラーとなる。