Mit dem Befehl ALTER TABLE passt du in Post­greS­QL Tabellen ganz einfach an. Das Kommando nutzt du zusammen mit einer Aktion, um etwa Spalten zu ergänzen oder zu verändern.

Was bewirkt Post­greS­QL ALTER TABLE?

Den Befehl ALTER TABLE benötigst du in Post­greS­QL, um bereits vor­han­de­ne Tabellen zu mo­di­fi­zie­ren. Du kannst die Anweisung nutzen, um Spalten hin­zu­zu­fü­gen, zu entfernen oder nach deinen Wünschen zu ad­ap­tie­ren. Außerdem hilft dir Post­greS­QL ALTER TABLE dabei, für Tabellen im Da­ten­bank­ma­nage­ment­sys­tem Cons­traints fest­zu­le­gen oder zu löschen. Damit alles glatt läuft, musst du den Befehl immer mit einer spe­zi­fi­schen Aktion kom­bi­nie­ren.

ALTER TABLE: Syntax

Für den Überblick hilft ein Blick auf die grund­le­gen­de Syntax von ALTER TABLE. Diese ist simpel aufgebaut:

ALTER TABLE name_der_tabelle aktion;
post­gres­ql

Direkt nach dem Befehl nennst du die Tabelle, die du be­ar­bei­ten willst. Im Anschluss prä­zi­sierst du den Post­greS­QL-Befehl ALTER TABLE mit der ge­wünsch­ten Aktion.

Tipp

Falls du eine komplett neue Tabelle anlegen möchtest, nutzt du in Post­greS­QL den Befehl CREATE TABLE.

Post­greS­QL ALTER TABLE: Beispiele aus der Praxis

In den folgenden Ab­schnit­ten zeigen wir dir, wie ALTER TABLE in der Praxis funk­tio­niert. 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 Post­greS­QL flexibel anpassen.

Spalte ergänzen mit Post­greS­QL ADD COLUMN

Um eine neue Spalte ein­zu­fü­gen, kom­bi­nierst du ALTER TABLE mit Post­greS­QL ADD COLUMN. Hierbei nutzt du zwei Parameter: den Spal­ten­na­men und den zu­ge­hö­ri­gen Datentyp. Die Syntax sieht so aus:

ALTER TABLE name_der_tabelle ADD COLUMN name_der_spalte datentyp;
post­gres­ql

Wenn wir unserer „Kunden“-Tabelle eine Spalte für die Anschrift hin­zu­fü­gen wollen, nutzen wir Post­greS­QL ADD COLUMN fol­gen­der­ma­ßen:

ALTER TABLE Kunden ADD COLUMN Adresse VARCHAR(255);
post­gres­ql

Die ak­tua­li­sier­te 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 ver­wen­dest du Post­greS­QL 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;
post­gres­ql

Um die Spalte „Stadt“ los­zu­wer­den, nutzt du diesen Code:

ALTER TABLE Kunden DROP COLUMN Stadt;
post­gres­ql

Damit hat die Tabelle wieder drei Spalten:

ID Name Adresse
1 Schulz NULL
2 Meyer NULL
3 Schmidt NULL

Spalten um­be­nen­nen mit RENAME COLUMN

Statt Spalten mühsam zu löschen und neu anzulegen, kannst du sie auch einfach um­be­nen­nen. Die Syntax für RENAME COLUMN innerhalb von ALTER TABLE lautet:

ALTER TABLE name_der_tabelle RENAME COLUMN name_der_spalte TO neuer_name;
post­gres­ql

Hier ändern wir „Name“ in „Kun­den­na­me“ um:

ALTER TABLE Kunden RENAME COLUMN Name TO Kundenname;
post­gres­ql

In der Tabelle wird lediglich die Spal­ten­be­zeich­nung angepasst:

ID Kun­den­na­me Adresse
1 Schulz NULL
2 Meyer NULL
3 Schmidt NULL

Weitere Post­greS­QL-Optionen für ALTER TABLE

Es gibt noch viele weitere Aktionen, die du mit ALTER TABLE nutzen kannst. Hier sind die wich­tigs­ten im Überblick:

So änderst du den Datentyp einer Spalte:

ALTER TABLE name_der_tabelle ALTER COLUMN name_der_spalte TYPE datentyp;
post­gres­ql

So stellst du sicher, dass eine Spalte zwingend einen Inhalt haben muss:

ALTER TABLE name_der_tabelle ALTER COLUMN name_der_spalte SET NOT NULL;
post­gres­ql
Zum Hauptmenü