sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL MAAK TABEL

Vaak moet u mogelijk een tabel maken in PostgreSQL. Hier leest u hoe u een tabel maakt met de opdracht PostgreSQL CREATE TABLE.

Hoe maak je een tabel in PostgreSQL

Hier zijn de stappen om een ​​tabel te maken in PostgreSQL.

Met PostgreSQL CREATE TABLE kunt u een nieuwe tabel in de database maken. Hier is de syntaxis.

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

In de bovenstaande tabel-query maken, table_name is de naam van uw nieuwe tabel. IF NOT EXISTS is een optioneel argument dat controleert of de tabel al bestaat en alleen een tabel maakt als deze niet bestaat.

column_1_definition , column_2_definition , ... zijn verschillende kolomdefinities die elk bestaan ​​uit kolomnaam en gegevenstype.

table_contraints zijn verschillende soorten optionele beperkingen zoals externe sleutelbeperking, primaire sleutelbeperking, enz.

Bonus Lezen:Histogram maken in PostgreSQL

PostgreSQL CREATE TABLE-voorbeelden

Hier is de SQL-query om een ​​tabel in PostgreSQL te maken. We maken een bestellingen tabel om de lijst met bestellingen op te slaan

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

In de bovenstaande zoekopdracht,

id is de primaire sleutel van onze tafel.

productnaam is een VARCHAR (tekenreeks) kolom om de productnaam op te slaan

order_date is een datumkolom. Omdat het geen beperkingen heeft, kan het zelfs NULL-waarden hebben.

prijs is een integer-kolom met een NOT NULL-beperking. Het kan dus geen null-waarden hebben.

created_at is een tijdstempelkolom en kan geen NULL-waarden hebben.

Bonus lezen:een gebruiker maken in PostgreSQL

PostgreSQL MAAK TAFEL MET BUITENLANDSE SLEUTEL

Laten we een nieuwe tabel maken in PostgreSQL met FOREIGN KEY-beperking. We zullen een nieuwe tabel maken order_status met een externe sleutel order_id die verwijst naar de primaire sleutel van orders tafel.

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

In de bovenstaande query voegen we een externe sleutelbeperking toe tijdens het maken van een PostgreSQL-tabel.

Hopelijk kun je nu gemakkelijk een tabel maken in PostgreSQL.

Ubiq maakt het gemakkelijk om gegevens binnen enkele minuten te visualiseren en in realtime dashboards te controleren. Probeer het vandaag nog!

  1. Door komma's gescheiden tekenreeks ontleden om IN Lijst met tekenreeksen in de Where-component te maken

  2. Hoe een-op-een, een-op-veel en veel-op-veel relaties te implementeren tijdens het ontwerpen van tabellen?

  3. Hoe dubbele rijen in SQL te vinden?

  4. Volgorde als standaardwaarde voor een kolom