6.1。データを挿入する
テーブルが作成されるとき、その中にデータはありません。データベースが役立つ前に最初に行うことは、データベースにデータを挿入することです。データは概念的に一度に1行ずつ挿入されます。もちろん、一度に複数の行を挿入することはできますが、一度に1行未満のデータを挿入する方法は実際にはありません。いくつかのフィールドの値しか知らない場合でも、完全な行を作成する必要があります。
新しい行を作成するには、INSERT コマンドを使用し ます。このコマンドには、テーブルの名前とテーブルの各フィールドの値が必要です。たとえば、第5章 の製品テーブルを考えてみましょう 。
CREATE TABLE製品( product_no整数、 名前テキスト、 価格数値 );
以下は、テーブルに行を挿入する例です。
INSERT INTO products VALUES(1、 'Cheese'、9.99);
データ値は、これらのフィールドが表に表示される順序でリストされ、コンマで区切られています。通常、データ値はテキスト(定数)ですが、スカラー式も使用できます。
上記の構文の欠点は、テーブル内のフィールドの順序を知っている必要があることです。この問題を回避するために、フィールドを明示的にリストすることもできます。たとえば、次の2つのコマンドは、上記のコマンドと同じ効果があります。
INSERT INTO products(product_no、name、price)VALUES(1、 'Cheese'、9.99); INSERT INTO products(name、price、product_no)VALUES( 'Cheese'、9.99、1);
多くのユーザーは、フィールド名を明示的にリストすることは良い習慣だと考えています。
すべてのフィールドの値を取得できない場合は、それらの一部を省略できます。このとき、これらのフィールドにはデフォルト値が入力されます。といった、
INSERT INTO products(product_no、name)VALUES(1、 'Cheese'); INSERT INTO products VALUES(1、 'Cheese');
2番目の形式はPostgreSQLの拡張です。フィールドの数に左から指定した値の数を入力し、他の値がデフォルトになります。
わかりやすくするために、個々のフィールドまたは行全体のいずれかにデフォルト値を明示的に要求することもできます。
INSERT INTO products(product_no、name、price)VALUES(1、 'Cheese'、DEFAULT); 製品のデフォルト値に挿入します。