PostgreSQL: So legst du neue Tabellen einfach an
Mit dem Befehl CREATE TABLE erstellst du in PostgreSQL neue Tabellen innerhalb einer Datenbank. Nutzt du dieses Kommando, legst du direkt verschiedene Spezifikationen für die Tabelle und ihre einzelnen Spalten fest.
Was ist PostgreSQL CREATE TABLE?
Den Befehl CREATE TABLE nutzt du in PostgreSQL, um eine neue Tabelle in einer bestehenden Datenbank anzulegen. Dabei vergibst du einen eindeutigen Namen für die Tabelle sowie für die jeweiligen Spalten. Jede Spalte erhält einen Namen und einen Datentyp, der den Inhalt definiert. Zudem kannst du bereits bei der Erstellung Einschränkungen für einzelne oder alle Spalten festlegen.
Syntax und Funktionsweise von CREATE TABLE
Die grundlegende Syntax von PostgreSQL CREATE TABLE sieht so aus:
CREATE TABLE name_der_tabelle(
spalte1 datentyp PRIMARY KEY,
spalte2 datentyp,
spalte3 datentyp,
…
);postgresqlDu nutzt den Hauptbefehl CREATE TABLE, um PostgreSQL anzuweisen, eine neue Tabelle zu erstellen. Diese benennst du eindeutig. In Klammern folgen die Bezeichnungen der Spalten sowie die Definition der erlaubten Datentypen.
Wenn du direkt Einschränkungen (Constraints) 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,
…
);postgresqlPostgreSQL unterstützt neben PRIMARY KEY diese Arten von Einschränkungen:
NOT NULL: Damit stellst du sicher, dass die Spalte keine NULL-Werte enthalten darf.UNIQUE: Diese Einschränkung garantiert, dass alle Werte in einer Spalte oder Spaltenkombination einzigartig sind.CHECK: MitCHECKdefinierst du Bedingungen, die beim Einfügen oder Aktualisieren von Daten erfüllt sein müssen.FOREIGN KEY: Diese Einschränkung stellt Beziehungen zu einer Spalte in einer anderen Tabelle her.DEFAULT: Legt einen Standardwert fest, falls beim Einfügen kein expliziter Wert angegeben wird.
Praxisbeispiel für PostgreSQL CREATE TABLE
Wie CREATE TABLE in PostgreSQL funktioniert, zeigt dieses Beispiel: Wir erstellen die Tabelle „Kundenliste“ mit den vier Spalten „ID“, „Name“, „Land“ und „Adresse“. „ID“ definieren 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)
);postgresqlDie 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 Mustermann | Österreich | Musterstraße 1, 1010 Wien |
| 2 | … | … | … |
| 3 | … | … | … |
Erstellte Tabellen ansehen mit \d
Um zu prüfen, ob die Aktion mit CREATE TABLE erfolgreich war, nutzt du den Befehl \d. Er listet alle Tabellen der Datenbank auf. Die Anwendung funktioniert so:
testdb-# \dpostgresqlDu kannst den Befehl auch verwenden, um Details zu einer bestimmten Tabelle abzurufen. Für die Spezifikationen aus unserem Beispiel nutzt du ihn so:
testdb-# \d Kundenlistepostgresql