Mit dem Befehl CREATE TABLE erstellst du in Post­greS­QL neue Tabellen innerhalb einer Datenbank. Nutzt du dieses Kommando, legst du direkt ver­schie­de­ne Spe­zi­fi­ka­tio­nen für die Tabelle und ihre einzelnen Spalten fest.

Was ist Post­greS­QL CREATE TABLE?

Den Befehl CREATE TABLE nutzt du in Post­greS­QL, um eine neue Tabelle in einer be­stehen­den Datenbank anzulegen. Dabei vergibst du einen ein­deu­ti­gen Namen für die Tabelle sowie für die je­wei­li­gen Spalten. Jede Spalte erhält einen Namen und einen Datentyp, der den Inhalt definiert. Zudem kannst du bereits bei der Er­stel­lung Ein­schrän­kun­gen für einzelne oder alle Spalten festlegen.

Syntax und Funk­ti­ons­wei­se von CREATE TABLE

Die grund­le­gen­de Syntax von Post­greS­QL CREATE TABLE sieht so aus:

CREATE TABLE name_der_tabelle(
spalte1 datentyp PRIMARY KEY,
spalte2 datentyp,
spalte3 datentyp,
…
);
post­gres­ql

Du nutzt den Haupt­be­fehl CREATE TABLE, um Post­greS­QL an­zu­wei­sen, eine neue Tabelle zu erstellen. Diese benennst du eindeutig. In Klammern folgen die Be­zeich­nun­gen der Spalten sowie die De­fi­ni­ti­on der erlaubten Da­ten­ty­pen.

Wenn du direkt Ein­schrän­kun­gen (Cons­traints) einbauen willst, erweitert sich die Syntax wie folgt:

CREATE TABLE name_der_tabelle(
spalte1 datentyp PRIMARY KEY einschränkung,
spalte2 datentyp einschränkung,
spalte3 datentyp einschränkung,
…
);
post­gres­ql

Post­greS­QL un­ter­stützt neben PRIMARY KEY diese Arten von Ein­schrän­kun­gen:

  • NOT NULL: Damit stellst du sicher, dass die Spalte keine NULL-Werte enthalten darf.
  • UNIQUE: Diese Ein­schrän­kung ga­ran­tiert, dass alle Werte in einer Spalte oder Spal­ten­kom­bi­na­ti­on ein­zig­ar­tig sind.
  • CHECK: Mit CHECK de­fi­nierst du Be­din­gun­gen, die beim Einfügen oder Ak­tua­li­sie­ren von Daten erfüllt sein müssen.
  • FOREIGN KEY: Diese Ein­schrän­kung stellt Be­zie­hun­gen zu einer Spalte in einer anderen Tabelle her.
  • DEFAULT: Legt einen Stan­dard­wert fest, falls beim Einfügen kein ex­pli­zi­ter Wert angegeben wird.

Pra­xis­bei­spiel für Post­greS­QL CREATE TABLE

Wie CREATE TABLE in Post­greS­QL funk­tio­niert, zeigt dieses Beispiel: Wir erstellen die Tabelle „Kun­den­lis­te“ mit den vier Spalten „ID“, „Name“, „Land“ und „Adresse“. „ID“ de­fi­nie­ren wir als PRIMARY KEY, wobei die Felder für „ID“ und „Name“ nicht leer bleiben dürfen. Der Code dazu:

CREATE TABLE Kundenliste(
ID INT PRIMARY KEY NOT NULL,
Name VARCHAR(50) NOT NULL,
Land VARCHAR(50),
Adresse VARCHAR(255)
);
post­gres­ql

Die Datenbank legt nun eine leere Tabelle mit diesen Spalten an, die du danach befüllen kannst. Die fertige Tabelle sieht dann etwa so aus:

ID Name Land Adresse
1 Max Mus­ter­mann Ös­ter­reich Mus­ter­stra­ße 1, 1010 Wien
2
3

Erstellte Tabellen ansehen mit \d

Um zu prüfen, ob die Aktion mit CREATE TABLE er­folg­reich war, nutzt du den Befehl \d. Er listet alle Tabellen der Datenbank auf. Die Anwendung funk­tio­niert so:

testdb-# \d
post­gres­ql

Du kannst den Befehl auch verwenden, um Details zu einer be­stimm­ten Tabelle abzurufen. Für die Spe­zi­fi­ka­tio­nen aus unserem Beispiel nutzt du ihn so:

testdb-# \d Kundenliste
post­gres­ql
Zum Hauptmenü