以下のように、INSERT を使用して、テーブルに行を挿入します。
INSERT INTO weather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');
全てのデータ型はどちらかといえば判り易い入力書式を使用します。通常、単純な数値以外の定数は、この例のように、単一引用符(') で括らなければなりません。 date 型の列で受け付けられるものは実際はかなり柔軟です。しかし、このチュートリアルの段階では、曖昧さがない書式にこだわることにします。
point 型では、入力として次のような座標の組み合わせが必要です。
INSERT INTO cities VALUES ('San Francisco', '(-194.0, 53.0)');
ここまでの構文では、列の順番を覚えておく必要がありました。以下に示す他の構文では、列のリストを明示的に与えることができます。
INSERT INTO weather (city, temp_lo, temp_hi, prcp, date) VALUES ('San Francisco', 43, 57, 0.0, '1994-11-29');
リスト内の列は好きなような順番で指定できます。また、一部の列を省略することもできます。例えば、降水量が判らない場合は以下のようにすることができます。
INSERT INTO weather (date, city, temp_hi, temp_lo) VALUES ('1994-11-29', 'Hayward', 54, 37);
多くの開発者は、暗黙的な順番に依存するよりも、列のリストを明示的に指定する方を好んで使用します。
次節でもデータを使用しますので、上のコマンドを全て入力して下さい。
また、COPY を使用して大量のデータを平文テキストファイルからロードすることもできます。COPY コマンドは INSERT よりも柔軟性はありませんが、この目的に特化していますので、通常より高速になります。以下に例を示します。
COPY weather FROM '/home/user/weather.txt';
ここで元のファイルを表すファイル名は、クライアントマシンではなく、バックエンドサーバマシンで利用できるものでなければなりません。バックエンドサーバがこのファイルを直接読み込むからです。リファレンスマニュアルには COPY コマンドについてのより詳しい説明があります。