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)