PostgreSQL - CREATE-Tabelle
Die PostgreSQL CREATE TABLE-Anweisung wird verwendet, um eine neue Tabelle in einer der angegebenen Datenbanken zu erstellen.
Syntax
Die grundlegende Syntax der Anweisung CREATE TABLE lautet wie folgt:
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns )
);
CREATE TABLE ist ein Schlüsselwort, das das Datenbanksystem anweist, eine neue Tabelle zu erstellen. Der eindeutige Name oder Bezeichner für die Tabelle folgt der Anweisung CREATE TABLE. Zu Beginn gehört die leere Tabelle in der aktuellen Datenbank dem Benutzer, der den Befehl ausgibt.
In Klammern wird dann die Liste angezeigt, in der jede Spalte in der Tabelle und der Datentyp definiert sind. Die Syntax wird anhand eines Beispiels deutlich.
Beispiele
Das folgende Beispiel zeigt eine COMPANY-Tabelle mit der ID als Primärschlüssel und NOT NULL. Dies sind die Einschränkungen, die zeigen, dass diese Felder beim Erstellen von Datensätzen in dieser Tabelle nicht NULL sein dürfen.
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
Lassen Sie uns eine weitere Tabelle erstellen, die wir in unseren Übungen in den folgenden Kapiteln verwenden werden -
CREATE TABLE DEPARTMENT(
ID INT PRIMARY KEY NOT NULL,
DEPT CHAR(50) NOT NULL,
EMP_ID INT NOT NULL
);
Mit können Sie überprüfen, ob Ihre Tabelle erfolgreich erstellt wurde \d Befehl, mit dem alle Tabellen in einer angehängten Datenbank aufgelistet werden.
testdb-# \d
Die oben angegebene PostgreSQL-Anweisung führt zu folgendem Ergebnis:
List of relations
Schema | Name | Type | Owner
--------+------------+-------+----------
public | company | table | postgres
public | department | table | postgres
(2 rows)
Verwenden \d tablename um jede Tabelle wie unten gezeigt zu beschreiben -
testdb-# \d company
Die oben angegebene PostgreSQL-Anweisung führt zu folgendem Ergebnis:
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)