PostgreSQL: Tabellenspalten mit ALTER TABLE flexibel verwalten
Mit dem Befehl ALTER TABLE passt du in PostgreSQL Tabellen ganz einfach an. Das Kommando nutzt du zusammen mit einer Aktion, um etwa Spalten zu ergänzen oder zu verändern.
Was bewirkt PostgreSQL ALTER TABLE?
Den Befehl ALTER TABLE benötigst du in PostgreSQL, um bereits vorhandene Tabellen zu modifizieren. Du kannst die Anweisung nutzen, um Spalten hinzuzufügen, zu entfernen oder nach deinen Wünschen zu adaptieren. Außerdem hilft dir PostgreSQL ALTER TABLE dabei, für Tabellen im Datenbankmanagementsystem Constraints festzulegen oder zu löschen. Damit alles glatt läuft, musst du den Befehl immer mit einer spezifischen Aktion kombinieren.
ALTER TABLE: Syntax
Für den Überblick hilft ein Blick auf die grundlegende Syntax von ALTER TABLE. Diese ist simpel aufgebaut:
ALTER TABLE name_der_tabelle aktion;postgresqlDirekt nach dem Befehl nennst du die Tabelle, die du bearbeiten willst. Im Anschluss präzisierst du den PostgreSQL-Befehl ALTER TABLE mit der gewünschten Aktion.
Falls du eine komplett neue Tabelle anlegen möchtest, nutzt du in PostgreSQL den Befehl CREATE TABLE.
PostgreSQL ALTER TABLE: Beispiele aus der Praxis
In den folgenden Abschnitten zeigen wir dir, wie ALTER TABLE in der Praxis funktioniert. Wir erstellen dafür eine Beispiel-Tabelle namens „Kunden“, die mit drei Spalten und drei Zeilen startet:
| ID | Name | Stadt |
|---|---|---|
| 1 | Schulz | Berlin |
| 2 | Meyer | Hamburg |
| 3 | Schmidt | Dortmund |
Diese Tabelle kannst du mit ALTER TABLE in PostgreSQL flexibel anpassen.
Spalte ergänzen mit PostgreSQL ADD COLUMN
Um eine neue Spalte einzufügen, kombinierst du ALTER TABLE mit PostgreSQL ADD COLUMN. Hierbei nutzt du zwei Parameter: den Spaltennamen und den zugehörigen Datentyp. Die Syntax sieht so aus:
ALTER TABLE name_der_tabelle ADD COLUMN name_der_spalte datentyp;postgresqlWenn wir unserer „Kunden“-Tabelle eine Spalte für die Anschrift hinzufügen wollen, nutzen wir PostgreSQL ADD COLUMN folgendermaßen:
ALTER TABLE Kunden ADD COLUMN Adresse VARCHAR(255);postgresqlDie aktualisierte Tabelle zeigt sich nun so:
| ID | Name | Stadt | Adresse |
|---|---|---|---|
| 1 | Schulz | Berlin | NULL |
| 2 | Meyer | Hamburg | NULL |
| 3 | Schmidt | Dortmund | NULL |
Spalten entfernen mit DROP COLUMN
Ähnlich einfach klappt es, wenn du eine Spalte löschen willst. Dafür verwendest du PostgreSQL ALTER TABLE zusammen mit DROP COLUMN. Als einziger Parameter wird der Name der Spalte benötigt. Das ist die Syntax:
ALTER TABLE name_der_tabelle DROP COLUMN name_der_spalte;postgresqlUm die Spalte „Stadt“ loszuwerden, nutzt du diesen Code:
ALTER TABLE Kunden DROP COLUMN Stadt;postgresqlDamit hat die Tabelle wieder drei Spalten:
| ID | Name | Adresse |
|---|---|---|
| 1 | Schulz | NULL |
| 2 | Meyer | NULL |
| 3 | Schmidt | NULL |
Spalten umbenennen mit RENAME COLUMN
Statt Spalten mühsam zu löschen und neu anzulegen, kannst du sie auch einfach umbenennen. Die Syntax für RENAME COLUMN innerhalb von ALTER TABLE lautet:
ALTER TABLE name_der_tabelle RENAME COLUMN name_der_spalte TO neuer_name;postgresqlHier ändern wir „Name“ in „Kundenname“ um:
ALTER TABLE Kunden RENAME COLUMN Name TO Kundenname;postgresqlIn der Tabelle wird lediglich die Spaltenbezeichnung angepasst:
| ID | Kundenname | Adresse |
|---|---|---|
| 1 | Schulz | NULL |
| 2 | Meyer | NULL |
| 3 | Schmidt | NULL |
Weitere PostgreSQL-Optionen für ALTER TABLE
Es gibt noch viele weitere Aktionen, die du mit ALTER TABLE nutzen kannst. Hier sind die wichtigsten im Überblick:
So änderst du den Datentyp einer Spalte:
ALTER TABLE name_der_tabelle ALTER COLUMN name_der_spalte TYPE datentyp;postgresqlSo stellst du sicher, dass eine Spalte zwingend einen Inhalt haben muss:
ALTER TABLE name_der_tabelle ALTER COLUMN name_der_spalte SET NOT NULL;postgresql