Postgresql-create-table

提供:Dev Guides
移動先:案内検索

PostgreSQL-テーブルの作成

PostgreSQLのCREATE TABLEステートメントは、指定されたデータベースのいずれかに新しいテーブルを作成するために使用されます。

構文

CREATE TABLEステートメントの基本的な構文は次のとおりです-

CREATE TABLE table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
   PRIMARY KEY( one or more columns )
);

CREATE TABLEはキーワードであり、データベースシステムに新しいテーブルを作成するよう指示します。 テーブルの一意の名前または識別子は、CREATE TABLEステートメントの後に続きます。 最初に、現在のデータベースの空のテーブルは、コマンドを発行したユーザーが所有します。

次に、カッコ内にリストがあり、テーブルの各列とデータ型の種類を定義します。 構文は、次の例で明らかになります。

以下は、主キーとしてIDを使用してCOMPANYテーブルを作成する例です。NOTNULLは、このテーブルにレコードを作成する際にこれらのフィールドをNULLにできないことを示す制約です-

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

次の章の演習で使用するテーブルをもう1つ作成します。

CREATE TABLE DEPARTMENT(
   ID INT PRIMARY KEY      NOT NULL,
   DEPT           CHAR(50) NOT NULL,
   EMP_ID         INT      NOT NULL
);
*\ d* コマンドを使用して、テーブルが正常に作成されたかどうかを確認できます。このコマンドは、接続されたデータベース内のすべてのテーブルをリストダウンするために使用されます。
testdb-# \d

上記のPostgreSQLステートメントは、次の結果を生成します-

           List of relations
 Schema |    Name    | Type  |  Owner
--------+------------+-------+----------
 public | company    | table | postgres
 public | department | table | postgres
(2 rows)
*\ d _tablename_* を使用して、以下に示すように各テーブルを記述します-
testdb-# \d company

上記のPostgreSQLステートメントは、次の結果を生成します-

        Table "public.company"
  Column   |     Type      | Modifiers
-----------+---------------+-----------
 id        | integer       | not null
 name      | text          | not null
 age       | integer       | not null
 address   | character(50) |
 salary    | real          |
 join_date | date          |
Indexes:
    "company_pkey" PRIMARY KEY, btree (id)