【PostgreSQL】テーブルの作成について

PostgreSQL

テーブルの作成について

テーブルの作成にはCREATE TABLEを使用する
デフォルト値には、固定値の他、関数なども利用できる。デフォルト値が指定されていない場合は、暗黙的にNULLが指定される。

構文

CREATE TABLE テーブル名(列名 データ型 [デフォルト値] [, ...]);

使用例

tblテーブルを作成する

-- tblテーブルを作成
CREATE TABLE tbl (
    c1 int DEFAULT 10, -- c1のデフォルトを10に設定
    c2 text,
    c3 text DEFAULT 'ABC',
    c4 timestamp DEFAULT now()
);

-- テーブル定義の確認
¥d tbl

テーブル作成の中で主キー制約を作成する

主キー制約とは

主キー(プライマリーキー)制約とは、重複値、NULLの格納を禁止する。1つのテーブルに1つだけ作成可能
内部的にインデックスも作成される。

構文

CREATE TABLE テーブル名 (列名 データ型 PRIMARY KEY);

使用例
-- tblテーブルのc1に主キーを設定して作成する
CREATE TABLE tbl (
    c1 int PRIMARY KEY,
    c2 text,
    c3 text DEFAULT 'ABC',
    c4 timestamp DEFAULT now()
);

-- テーブル定義の確認
¥d tbl

テーブル作成の中でユニーク制約を作成する

ユニーク制約とは

ユニーク制約とは、重複値の格納を禁止する。
NULLの格納を許可する。

構文

CREATE TABLE テーブル名 (列名 データ型 UNIQUE);

使用例
-- tblテーブルのc1に主キーを設定して作成する
CREATE TABLE tbl (
    c1 int UNIQUE,
    c2 text,
    c3 text DEFAULT 'ABC',
    c4 timestamp DEFAULT now()
);

-- テーブル定義の確認
¥d tbl

テーブル作成の中でNOT NULL制約を作成する

NOT NULL制約とは

NOT NULL制約とは、重複値のNULL禁止する。

構文

CREATE TABLE テーブル名 (列名 データ型 NOT NULL);

使用例
-- tblテーブルのc1に主キーを設定して作成する
CREATE TABLE tbl (
    c1 int PRIMARY KEY,
    c2 text NOT NULL,
    c3 text DEFAULT 'ABC',
    c4 timestamp DEFAULT now()
);

-- テーブル定義の確認
¥d tbl

参考

PostgreSQL 14.5

コメント

タイトルとURLをコピーしました