バージョンごとのドキュメント一覧

2.3. 新しいテーブルの作成 #

<title>Creating a New Table</title>

You can create a new table by specifying the table name, along with all column names and their types: テーブル名と、テーブルの全ての列の名前と型を指定することで、新しいテーブルを作成できます。

CREATE TABLE weather (
    city            varchar(80),

    temp_lo         int,           &#45;- low temperature
    temp_hi         int,           &#45;- high temperature
    prcp            real,          &#45;- precipitation

    temp_lo         int,           -- 最低気温
    temp_hi         int,           -- 最高気温
    prcp            real,          -- 降水量
    date            date
);

You can enter this into <command>psql</command> with the line breaks. <command>psql</command> will recognize that the command is not terminated until the semicolon. 上のコマンドを複数の行に分けてpsqlに入力できます。 psqlは、セミコロンで終わるまでそのコマンドは継続するものと認識します。

White space (i.e., spaces, tabs, and newlines) can be used freely in SQL commands. That means you can type the command aligned differently than above, or even all on one line. Two dashes (<quote><literal>&#45;-</literal></quote>) introduce comments. Whatever follows them is ignored up to the end of the line. SQL is case-insensitive about key words and identifiers, except when identifiers are double-quoted to preserve the case (not done above). SQLコマンドでは空白文字(つまり空白、タブ、改行)を自由に使用できます。 つまり、上で示したコマンドとは異なる整列で入力しても良いことを意味します。 全てを1行で入力することさえできます。 連続した2つのハイフン(--)はコメントの始まりです。 その後に入力したものは、行末まで無視されます。 SQLはキーワードと識別子に対して大文字小文字を区別しません。 ただし、(上では行っていませんが)識別子が二重引用符で括られていた場合は大文字小文字を区別します。

<type>varchar(80)</type> specifies a data type that can store arbitrary character strings up to 80 characters in length. <type>int</type> is the normal integer type. <type>real</type> is a type for storing single precision floating-point numbers. <type>date</type> should be self-explanatory. (Yes, the column of type <type>date</type> is also named <structfield>date</structfield>. This might be convenient or confusing &mdash; you choose.) varchar(80)は、80文字までの任意の文字列を格納できるデータ型を指定しています。 intは一般的な整数用の型です。 realは単精度浮動小数点数値を格納する型です。 dateはその名前からわかるとおり日付です。 (わかると思いますが、date型の列の名前もdateになっています。 これはわかりやすいかもしれませんし、逆に混乱を招くかもしれません。 これは好みによります)。

<productname>PostgreSQL</productname> supports the standard <acronym>SQL</acronym> types <type>int</type>, <type>smallint</type>, <type>real</type>, <type>double precision</type>, <type>char(<replaceable>N</replaceable>)</type>, <type>varchar(<replaceable>N</replaceable>)</type>, <type>date</type>, <type>time</type>, <type>timestamp</type>, and <type>interval</type>, as well as other types of general utility and a rich set of geometric types. <productname>PostgreSQL</productname> can be customized with an arbitrary number of user-defined data types. Consequently, type names are not key words in the syntax, except where required to support special cases in the <acronym>SQL</acronym> standard. PostgreSQLは標準SQLのデータ型、intsmallintrealdouble precisionchar(N)varchar(N)datetimetimestampintervalをサポートします。 また、一般的なユーティリティ用の型や高度な幾何データ型もサポートします。 任意の数のユーザ定義のデータ型を使用して、PostgreSQLをカスタマイズできます。 したがって、標準SQLにおける特殊な場合をサポートするために必要な場所を除き、型名は構文内でキーワードではありません。

The second example will store cities and their associated geographical location: 以下に示す2番目の例では、都市とその地理的な位置情報を格納します。

CREATE TABLE cities (
    name            varchar(80),
    location        point
);

The <type>point</type> type is an example of a <productname>PostgreSQL</productname>-specific data type. point型は、PostgreSQL独自のデータ型の一例です。

Finally, it should be mentioned that if you don't need a table any longer or want to recreate it differently you can remove it using the following command: 最後に、テーブルが不要になった場合や別のものに作り直したい場合、以下のコマンドを使用して削除できることを示します。

DROP TABLE tablename;