全てデフォルト値を使ってデータを追加

指定したカラムだけ値を指定してデータを追加する場合、値が指定されなかったカラムにはデフォルト値(デフォルト値が設定されていない場合はNULL)が格納されます。そこでデータを追加する時に値をまったく指定せず、全てのカラムにデフォルト値を格納する方法を確認します。次の書式を使います。

INSERT INTO テーブル名 DEFAULT VALUES;

このINSERT文を実行するとデータが一つ追加されます。追加されるデータの値は何も指定されていませんので、全てのカラムにデフォルト値(DEFAULT制約が設定されている場合)またはNULLが格納されます。(DEFAULT制約については「DEFAULT制約」を参照して下さい)。

具体的には次のようになります。

create table customer(id integer, name text, address text default '未入力');

insert into customer default values;

データが1つ追加されますが、カラムに追加される値は順に「NULL」「NULL」「'未入力'」となります。

サンプル

では実際に試してみます。

元となるテーブルを作成します。

p3-1

テーブルには3つのカラムが含まれます。その中で「id」カラムには「INTEGER PRIMARY KEY」が設定してあります。「address」カラムにはDEFAULT制約を設定しデフォルト値として'未入力'を指定してあります。(INTEGER PRIMARY KEYについては「INTEGER PRIMARY KEYが設定されたカラム」を参照して下さい)。

では値を指定せずにデータを1件追加してみます。

p3-2

ではデータを取得して表示してみます。

p3-3

「id」カラムには「INTEGER PRIMARY KEY」が設定されているので自動で連番が格納されます。「address」カラムにデフォルト値が設定されているので'未入力'が格納されます。「name」カラムにはNULLが格納されます。