sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQL CREATE TABLE

    多くの場合、PostgreSQLでテーブルを作成する必要があります。 PostgreSQLCREATETABLEコマンドを使用してテーブルを作成する方法は次のとおりです。

    PostgreSQLでテーブルを作成する方法

    PostgreSQLでテーブルを作成する手順は次のとおりです。

    PostgreSQL CREATE TABLEを使用すると、データベースに新しいテーブルを作成できます。構文は次のとおりです。

    CREATE TABLE [IF NOT EXISTS] table_name(
       column_1_definition,
       column_2_definition,
       ...,
       table_constraints
    );
    

    上記のテーブルクエリの作成では、 table_name 新しいテーブルの名前です。 IF NOT EXISTSは、テーブルがすでに存在するかどうかをチェックし、テーブルが存在しない場合にのみテーブルを作成するオプションの引数です。

    column_1_definition column_2_definition 、…は、それぞれ列名とデータ型で構成される異なる列定義です。

    table_contraints 外部キー制約、主キー制約など、さまざまなタイプのオプションの制約です。

    ボーナスリード:PostgreSQLでヒストグラムを作成する方法

    PostgreSQLCREATETABLEの例

    PostgreSQLでテーブルを作成するためのSQLクエリは次のとおりです。 注文を作成します 注文のリストを保存するテーブル

    postgres=#CREATE TABLE IF NOT EXISTS orders (
        id INT PRIMARY KEY,
        product_name VARCHAR(255) NOT NULL,
        order_date DATE,
        price INT NOT NULL,
        description TEXT,
        created_at TIMESTAMP NOT NULL
    ) ;
    
    postgres=# \d orders;
                     Table "public.orders"
        Column    |            Type             | Modifiers
    --------------+-----------------------------+-----------
     id           | integer                     | not null
     product_name | character varying(255)      | not null
     order_date   | date                        |
     price        | integer                     | not null
     description  | text                        |
     created_at   | timestamp without time zone | not null
    
    

    上記のクエリでは、

    id テーブルの主キーです。

    product_name 製品名を格納するためのVARCHAR(文字列)列です

    order_date 日付列です。制約がないため、NULL値にすることもできます。

    価格 NOTNULL制約のある整数列です。したがって、null値を持つことはできません。

    created_at はタイムスタンプ列であり、NULL値を持つことはできません。

    ボーナスリード:PostgreSQLでユーザーを作成する方法

    外部キーを使用したPostgreSQLCREATETABLE

    FOREIGNKEY制約を使用してPostgreSQLで新しいテーブルを作成しましょう。新しいテーブルを作成しますorder_status 外部キーを使用order_id 注文の主キーを参照します テーブル。

    postgres=# CREATE TABLE IF NOT EXISTS order_status (
                 status_id INT,
                 order_id INT,
                 status VARCHAR(255) NOT NULL,
                 is_completed BOOLEAN NOT NULL DEFAULT FALSE,
                    PRIMARY KEY (status_id),
                    FOREIGN KEY (order_id)
                    REFERENCES orders (id)
                    ON UPDATE RESTRICT ON DELETE CASCADE
                   );
    
    postgres=# \d order_status;
                      Table "public.order_status"
        Column    |          Type          |       Modifiers
    --------------+------------------------+------------------------
     status_id    | integer                | not null
     order_id     | integer                |
     status       | character varying(255) | not null
     is_completed | boolean                | not null default false
    Indexes:
        "order_status_pkey" PRIMARY KEY, btree (status_id)
    Foreign-key constraints:
        "order_status_order_id_fkey" FOREIGN KEY (order_id) REFERENCES orders(id) ON UPDATE RESTRICT ON DELETE CASCADE
    

    上記のクエリでは、PostgreSQLテーブルの作成中に外部キー制約を追加します。

    うまくいけば、PostgreSQLでテーブルを簡単に作成できるようになりました。

    Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。

    1. データベースのMySQLデータベースサイズを取得するにはどうすればよいですか?

    2. SQL Serverでカスケードを使用するのはいつ/なぜですか?

    3. データの結合と関係の概要

    4. MySQLのインストール