Mit dem Befehl ALTER TABLE können Sie in Post­greS­QL Tabellen anpassen. Das Kommando wird mit einer Aktion genutzt, um zum Beispiel Spalten hin­zu­zu­fü­gen oder zu mo­di­fi­zie­ren.

Was ist Post­greS­QL ALTER TABLE?

Der Befehl ALTER TABLE wird in Post­greS­QL dafür benötigt, bereits be­stehen­de Tabellen zu mo­di­fi­zie­ren. Die Anweisung kann dabei verwendet werden, um eine Spalte hin­zu­zu­fü­gen, zu löschen oder sie nach eigenen Vor­stel­lun­gen an­zu­pas­sen. Zudem wird Post­greS­QL ALTER TABLE ein­ge­setzt, um für eine Tabelle in dem Da­ten­bank­ma­nage­ment­sys­tem Ein­schrän­kun­gen fest­zu­le­gen oder wieder auf­zu­he­ben. Um das ge­wünsch­te Ergebnis zu erzielen, müssen Sie den Befehl mit einer Aktion spe­zi­fi­zie­ren.

Dedicated Server
De­di­zier­te Server mit mo­derns­ten Pro­zes­so­ren
  • 100 % En­ter­pri­se-Hardware
  • Kon­fi­gu­rier­ba­re Hardware-Aus­stat­tung
  • ISO-zer­ti­fi­zier­te Re­chen­zen­tren

ALTER TABLE: Syntax

Für ein grund­le­gen­des Ver­ständ­nis lohnt sich ein Blick auf die grund­sätz­li­che Syntax von ALTER TABLE. Diese sieht wie folgt aus:

ALTER TABLE name_der_tabelle aktion;
post­gres­ql

Auf den ei­gent­li­chen Befehl folgt also zunächst der Name der Tabelle, an der Sie Än­de­run­gen vornehmen möchten. Danach spe­zi­fi­zie­ren Sie den Post­greS­QL-Befehl ALTER TABLE mit der ge­wünsch­ten Aktion.

Tipp

Um eine neue Tabelle zu erstellen, verwenden Sie in Post­greS­QL den Befehl CREATE TABLE.

Post­greS­QL ALTER TABLE: Beispiele

In den nach­fol­gen­den Ab­schnit­ten wollen wir die Funk­ti­ons­wei­se von ALTER TABLE anhand von prak­ti­schen Bei­spie­len ver­deut­li­chen. Wir legen hierfür eine ex­em­pla­ri­sche Tabelle mit dem Namen „Kunden“ an, die zunächst drei Spalten und drei Zeilen enthält. Sie sieht so aus:

ID Name Stadt
1 Schulz Berlin
2 Meyer Hamburg
3 Schmidt Dortmund

Diese lässt sich mit ALTER TABLE in Post­greS­QL nun auf ver­schie­de­ne Art anpassen.

Spalte hin­zu­fü­gen mit Post­greS­QL ADD COLUMN

Um eine zu­sätz­li­che Spalte hin­zu­zu­fü­gen, verwenden Sie ALTER TABLE in Kom­bi­na­ti­on mit Post­greS­QL ADD COLUMN. Diese Aktion verfügt über zwei Parameter: den Namen der Spalte und den Datentyp der Spalte. Die Syntax gestaltet sich fol­gen­der­ma­ßen:

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

Möchten wir unsere Tabelle „Kunden“ um eine Spalte für die Adresse erweitern, nutzen wir Post­greS­QL ADD COLUMN wie folgt:

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

Die neue, er­wei­ter­te Tabelle sieht damit wie folgt aus:

ID Name Stadt Adresse
1 Schulz Berlin NULL
2 Meyer Hamburg NULL
3 Schmidt Dortmund NULL

Spalten löschen mit DROP COLUMN

Ganz ähnlich gehen wir vor, wenn wir eine Spalte aus der exis­tie­ren­den Tabelle entfernen möchten. Dafür nutzen wir Post­greS­QL ALTER TABLE in Kom­bi­na­ti­on mit der Aktion DROP COLUMN. Diese hat als einzigen Parameter den Namen der Spalte. Dies ist die Syntax:

ALTER TABLE name_der_tabelle DROP COLUMN name_der_spalte;
post­gres­ql

Um die Spalte „Stadt“ zu entfernen, verwenden wir diesen Code:

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

Die Tabelle besteht damit wieder nur noch aus drei Spalten:

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

Spalten um­be­nen­nen mit RENAME COLUMN

Wir können auch eine exis­tie­ren­de Spalte um­be­nen­nen, was eine gute Al­ter­na­ti­ve dazu sein kann, Spalten zu löschen oder neu hin­zu­zu­fü­gen. Die Syntax von RENAME COLUMN innerhalb von ALTER TABLE sieht fol­gen­der­ma­ßen aus:

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

Hier machen wir aus der Spalte „Name“ die Spalte „Kun­den­na­me“:

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

In unserer Tabelle verändert sich wie gewünscht lediglich der Name der Spalte:

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

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

Es gibt zahl­rei­che weitere Aktionen, die Sie zusammen mit ALTER TABLE verwenden können. Dies sind die wich­tigs­ten:

So verändern Sie den Datentyp einer Spalte:

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

So legen Sie fest, dass eine Spalte einen Wert erhalten muss:

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

Um für eine Spalte Ein­schrän­kun­gen wie UNIQUE oder PRIMARY KEY zu eta­blie­ren, nutzen Sie Post­greS­QL ALTER TABLE in Kom­bi­na­ti­on mit der Aktion ADD CONSTRAINT:

ALTER TABLE name_der_tabelle ADD CONSTRAINT name_der_einschränkung definition_der_einschränkung;
post­gres­ql
Zum Hauptmenü