全てデフォルト値を使ってデータを追加
指定したカラムだけ値を指定してデータを追加する場合、値が指定されなかったカラムにはデフォルト値(デフォルト値が設定されていない場合は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」「'未入力'」となります。
サンプル
では実際に試してみます。
元となるテーブルを作成します。
テーブルには3つのカラムが含まれます。その中で「id」カラムには「INTEGER PRIMARY KEY」が設定してあります。「address」カラムにはDEFAULT制約を設定しデフォルト値として'未入力'を指定してあります。(INTEGER PRIMARY KEYについては「INTEGER PRIMARY KEYが設定されたカラム」を参照して下さい)。
では値を指定せずにデータを1件追加してみます。
ではデータを取得して表示してみます。
「id」カラムには「INTEGER PRIMARY KEY」が設定されているので自動で連番が格納されます。「address」カラムにデフォルト値が設定されているので'未入力'が格納されます。「name」カラムにはNULLが格納されます。