PostgreSQL-CREATEテーブル
PostgreSQL CREATE TABLEステートメントは、指定されたデータベースのいずれかに新しいテーブルを作成するために使用されます。
構文
CREATETABLEステートメントの基本的な構文は次のとおりです。
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns )
);
CREATE TABLEはキーワードであり、データベースシステムに新しいテーブルを作成するように指示します。テーブルの一意の名前または識別子は、CREATETABLEステートメントの後に続きます。最初は、現在のデータベースの空のテーブルは、コマンドを発行したユーザーが所有しています。
次に、括弧内にリストがあり、テーブルの各列とそのデータ型を定義します。構文は、以下の例で明らかになります。
例
以下は、主キーとしてIDを持つCOMPANYテーブルを作成する例であり、NOT NULLは、このテーブルにレコードを作成するときにこれらのフィールドを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)