他のバージョンの文書 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

2.4. テーブルに行を挿入

以下のように、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 コマンドについてのより詳しい説明があります。