PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PostgreSQL CREATE TABLE

Häufig müssen Sie möglicherweise Tabellen in PostgreSQL erstellen. So erstellen Sie eine Tabelle mit dem PostgreSQL-Befehl CREATE TABLE.

So erstellen Sie eine Tabelle in PostgreSQL

Hier sind die Schritte zum Erstellen einer Tabelle in PostgreSQL.

Mit PostgreSQL CREATE TABLE können Sie eine neue Tabelle in der Datenbank erstellen. Hier ist die Syntax.

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

Erstellen Sie in der obigen Tabellenabfrage table_name ist der Name Ihrer neuen Tabelle. IF NOT EXISTS ist ein optionales Argument, das prüft, ob die Tabelle bereits existiert, und eine Tabelle nur erstellt, wenn sie nicht existiert.

column_1_definition , column_2_definition , … sind verschiedene Spaltendefinitionen, die jeweils aus Spaltenname und Datentyp bestehen.

table_contraints sind verschiedene Arten von optionalen Einschränkungen wie Fremdschlüsseleinschränkungen, Primärschlüsseleinschränkungen usw.

Bonuslektüre:So erstellen Sie ein Histogramm in PostgreSQL

PostgreSQL CREATE TABLE-Beispiele

Hier ist die SQL-Abfrage zum Erstellen einer Tabelle in PostgreSQL. Wir erstellen eine Bestellung Tabelle zum Speichern der Bestellliste

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 der obigen Abfrage

Kennung ist der Primärschlüssel unserer Tabelle.

Produktname ist eine VARCHAR (String)-Spalte zum Speichern des Produktnamens

Bestelldatum ist eine Datumsspalte. Da es keine Beschränkungen gibt, kann es sogar NULL-Werte haben.

Preis ist eine ganzzahlige Spalte mit einer NOT NULL-Einschränkung. Es kann also keine Nullwerte haben.

erstellt_um ist eine Zeitstempelspalte und darf keine NULL-Werte haben.

Bonuslektüre:So erstellen Sie Benutzer in PostgreSQL

PostgreSQL CREATE TABLE mit FOREIGN KEY

Lassen Sie uns eine neue Tabelle in PostgreSQL mit FOREIGN KEY-Einschränkung erstellen. Wir erstellen eine neue Tabelle order_status mit einem Fremdschlüssel order_id die auf den Primärschlüssel von Bestellungen verweist Tabelle.

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 der obigen Abfrage fügen wir beim Erstellen einer PostgreSQL-Tabelle eine Fremdschlüsseleinschränkung hinzu.

Hoffentlich können Sie jetzt ganz einfach Tabellen in PostgreSQL erstellen.

Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!