PostgreSQL - UTWÓRZ tabelę

Instrukcja PostgreSQL CREATE TABLE służy do tworzenia nowej tabeli w dowolnej z podanych baz danych.

Składnia

Podstawowa składnia instrukcji CREATE TABLE jest następująca -

CREATE TABLE table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
   PRIMARY KEY( one or more columns )
);

CREATE TABLE jest słowem kluczowym informującym system bazy danych, aby utworzył nową tabelę. Unikalna nazwa lub identyfikator tabeli następuje po instrukcji CREATE TABLE. Początkowo właścicielem pustej tabeli w bieżącej bazie danych jest użytkownik wydający polecenie.

Następnie w nawiasach pojawia się lista, określająca każdą kolumnę w tabeli i określający typ danych. Składnia stanie się jasna na przykładzie podanym poniżej.

Przykłady

Poniżej znajduje się przykład, który tworzy tabelę COMPANY z identyfikatorem jako kluczem podstawowym i NIE NULL, to ograniczenia pokazujące, że te pola nie mogą mieć wartości NULL podczas tworzenia rekordów w tej tabeli -

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

Stwórzmy jeszcze jedną tabelę, której użyjemy w naszych ćwiczeniach w kolejnych rozdziałach -

CREATE TABLE DEPARTMENT(
   ID INT PRIMARY KEY      NOT NULL,
   DEPT           CHAR(50) NOT NULL,
   EMP_ID         INT      NOT NULL
);

Możesz sprawdzić, czy Twoja tabela została pomyślnie utworzona za pomocą \d polecenie, które zostanie użyte do wyświetlenia wszystkich tabel w dołączonej bazie danych.

testdb-# \d

Powyższa instrukcja PostgreSQL da następujący wynik -

List of relations
 Schema |    Name    | Type  |  Owner
--------+------------+-------+----------
 public | company    | table | postgres
 public | department | table | postgres
(2 rows)

Posługiwać się \d tablename opisać każdą tabelę, jak pokazano poniżej -

testdb-# \d company

Powyższa instrukcja PostgreSQL da następujący wynik -

Table "public.company"
  Column   |     Type      | Modifiers
-----------+---------------+-----------
 id        | integer       | not null
 name      | text          | not null
 age       | integer       | not null
 address   | character(50) |
 salary    | real          |
 join_date | date          |
Indexes:
    "company_pkey" PRIMARY KEY, btree (id)