sql >> Database teknologi >  >> RDS >> PostgreSQL

PostgreSQL OPRET TABEL

Mange gange skal du muligvis oprette tabel i PostgreSQL. Sådan opretter du tabel ved hjælp af PostgreSQL CREATE TABLE-kommandoen.

Sådan opretter man tabel i PostgreSQL

Her er trinene til at oprette tabel i PostgreSQL.

PostgreSQL CREATE TABLE giver dig mulighed for at oprette en ny tabel i databasen. Her er syntaksen.

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

I ovenstående opret tabelforespørgsel, tabelnavn er navnet på dit nye bord. IF NOT EXISTS er et valgfrit argument, der kontrollerer, om tabellen allerede eksisterer, og opretter kun tabel, hvis den ikke eksisterer.

column_1_definition , kolonne_2_definition , … er forskellige kolonnedefinitioner, der hver består af kolonnenavn og datatype.

table_contraints er forskellige typer valgfrie begrænsninger såsom fremmednøglebegrænsning, primærnøglebegrænsning osv.

Bonus Læs:Sådan opretter du histogram i PostgreSQL

Eksempler på PostgreSQL OPRET TABEL

Her er SQL-forespørgslen til at oprette tabel i PostgreSQL. Vi opretter en ordrer tabel for at gemme listen over ordrer

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

I ovenstående forespørgsel,

id er vores tabels primære nøgle.

produktnavn er en VARCHAR (streng) kolonne til lagring af produktnavn

ordre_date er en datokolonne. Da det ikke har nogen begrænsninger, kan det endda have NULL-værdier.

pris er en heltalskolonne med en NOT NULL-begrænsning. Så den kan ikke have nulværdier.

created_at er en tidsstempelkolonne og kan ikke have NULL-værdier.

Bonuslæser:Sådan opretter du bruger i PostgreSQL

PostgreSQL OPRET TABEL med FOREIGN KEY

Lad os oprette en ny tabel i PostgreSQL med FOREIGN KEY-begrænsning. Vi vil oprette en ny tabel ordre_status med en fremmednøgle order_id der refererer til den primære nøgle for ordrer tabel.

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

I ovenstående forespørgsel tilføjer vi en fremmednøglebegrænsning, mens vi opretter PostgreSQL-tabel.

Forhåbentlig kan du nu nemt oprette tabel i PostgreSQL.

Ubiq gør det nemt at visualisere data på få minutter og overvåge i dashboards i realtid. Prøv det i dag!

  1. Oprettelse af valgfrie afhængigheder

  2. Hvordan udføres to mysql-forespørgsler som én i PHP/MYSQL?

  3. Hvordan bruger man nøgleordet 'som' til at kalde en tabel i Oracle?

  4. Hvordan henter jeg mit MySQL-brugernavn og -adgangskode?