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)