データの挿入(INSERT)

前回作成したStaffテーブルへデータを登録していきます。

まず、Staffテーブルの定義を確認しましょう。Staffテーブルは以下の列を持ちます。

列名 データ型 制約
id INTEGER PRIMARY KEY
name TEXT NOT NULL
age INTEGER なし

INSERTコマンド

テーブルへのデータ登録はINSERTコマンドで行います。

INSERTコマンドの基本構文
INSERT INTO テーブル名 [(列名1 [, 列名2 …] )] VALUES (値1 [, 値2 …] );

列名1に値1、列名2に値2がセットされます。列と値の数は一致させる必要があり、不一致の場合はエラーとなり挿入に失敗します。また、データ型も一致させる必要があります。例えば、INTEGER型の列に文字列をセットしようとしてもエラーとなります。

列名を省略することもできます。ただし、省略すると、VALUES句にはテーブルの全ての列にセットする値を指定してやる必要があります。

では、実際にINSERTコマンドを発行してデータを登録してみましょう。

testdb=# INSERT INTO Staff (id, name, age) VALUES ('0001', '山田太郎', 26);
testdb=# INSERT INTO Staff (id, name, age) VALUES ('0002', '佐藤隆', 34);
testdb=# INSERT INTO Staff (id, name, age) VALUES ('0003', '斉藤達弘', 45);

列名を省略した場合は以下のように記述します。

testdb=# INSERT INTO Staff VALUES ('0004', '渡辺さつき', 28);

VALUES句内に指定する値の順序は、テーブルの定義時に指定した列の順序で指定します。データ登録時に、全ての列にデータをセットする必要がある場合は、このように省略しても構いません。