PostgreSQL ALTER TABLE: Spalte hinzufügen und umbenennen
⚡ Intelligente Zusammenfassung
PostgreSQL ALTER TABLE ändert die Struktur einer bestehenden Tabelle und ermöglicht es Ihnen, Spalten hinzuzufügen oder zu entfernen, eine Spalte oder die gesamte Tabelle umzubenennen, Standardwerte festzulegen und Prüfbedingungen anzuhängen, ohne das Objekt neu erstellen zu müssen.

Was ist ALTER TABLE in PostgreSQL?
Das ALTER TABELLE Der Befehl wird verwendet, um die Struktur eines PostgreSQL Mit diesem Befehl lassen sich die Tabellenspalten oder der Name der Tabelle selbst ändern, ohne sie zu löschen.ping und das Objekt neu zu erstellen.
Syntax
Hier ist die Syntax für PostgreSQL ALTER TABLE-Befehl:
ALTER TABLE table-name action;
Der Parameter „Tabellenname“ ist der Name der Tabelle, die Sie ändern möchten. Der Parameter „Aktion“ beschreibt die auszuführende Aktion, z. B. das Ändern des Namens oder des Datentyps einer Spalte.
Beschreibung
Der Befehl ALTER TABLE ändert die Definition einer vorhandenen Tabelle. Er nimmt die folgenden Unterformen an:
- SPALTE HINZUFÜGENHierbei wird eine ähnliche Syntax wie beim Befehl CREATE TABLE verwendet, um einer Tabelle eine neue Spalte hinzuzufügen.
- DROP-SÄULE: für Tropfenping Eine Tabellenspalte. Die für die Spalten festgelegten Einschränkungen und Indizes werden ebenfalls entfernt.
- Standardeinstellung festlegen/löschenWird verwendet, um den Standardwert für eine Spalte festzulegen oder zu entfernen. Die Änderung gilt nur für nachfolgende Spalten. INSERT-Anweisungen.
- SET/DROP NICHT NULL: Ändert, ob eine Spalte Nullwerte zulässt oder nicht.
- SET-STATISTIKEN: zum Festlegen des Ziels für die Statistikerfassung für jede Spalte bei ANALYZE-Operationen.
- LAGERUNG EINSTELLEN: zum Festlegen des Speichermodus für eine Spalte, ob inline oder in einer zusätzlichen Tabelle.
- SET OHNE OIDS: Wird verwendet, um die alte OID-Spalte der Tabelle zu entfernen.
- UMBENENNEN: zum Ändern des Tabellennamens oder eines Spaltennamens.
- table_constraint HINZUFÜGEN: Wird verwendet, um einer Tabelle eine neue Einschränkung hinzuzufügen. Es verwendet dieselbe Syntax wie die TABELLE ERSTELLEN Befehl.
- TROPFENBESCHRÄNKUNG: wird für Tropfen verwendetping eine Tabellenbeschränkung.
- EIGENTÜMER: zum Ändern des Besitzers einer Tabelle, Sequenz, eines Index oder einer Ansicht auf einen bestimmten Benutzer.
- CLUSTER: zum Markieren einer Tabelle, die für zukünftige Clusteroperationen verwendet werden soll.
Ändern einer Spalte
Eine Spalte kann auf verschiedene Arten geändert werden. Solche Änderungen werden mit dem Befehl ALTER TABLE durchgeführt. Im Folgenden werden diese erläutert.
Hinzufügen einer neuen Spalte
Um eine neue Spalte zu a hinzuzufügen PostgreSQL Tabelle wird der Befehl ALTER TABLE mit der folgenden Syntax verwendet:
ALTER TABLE table-name ADD new-column-name column-definition;
Der Tabellenname ist der Name der zu ändernden Tabelle. Der neue Spaltenname ist der Name der neu hinzuzufügenden Spalte. Die Spaltendefinition ist die Datentyp der neuen Spalte. Siehe die untenstehende Buchtabelle:
Die Tabelle hat zwei Spalten, „id“ und „name“. Wir müssen der Tabelle eine neue Spalte hinzufügen und ihr den Namen „author“ geben. Führen Sie dazu einfach folgenden Befehl aus:
ALTER TABLE Book ADD author VARCHAR(50);
Nachdem Sie den obigen Befehl ausgeführt haben, sieht die Buchtabelle nun wie folgt aus:
Die neue Spalte wurde erfolgreich hinzugefügt.
Umbenennen einer Tabellenspalte
Mit dem Befehl ALTER TABLE können wir den Namen einer Spalte ändern. In diesem Fall wird der Befehl mit der folgenden Syntax verwendet:
ALTER TABLE table-name RENAME COLUMN old-name TO new-name;
Der Tabellenname ist der Name der Tabelle, deren Spalte umbenannt werden soll. Der alte Name ist der aktuelle Name der Spalte, der neue Name der neue Name. Betrachten Sie die unten dargestellte Tabelle „Buch“:
Buch:
Wir müssen den Namen der Spalte „Autor“ in „Buchautor“ ändern. Hier ist der Befehl:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Nachdem wir den Befehl ausgeführt haben, können wir die Struktur der Tabelle anzeigen:
Der Spaltenname wurde erfolgreich geändert.
Festlegen eines Standardwerts für eine Spalte
Wir können einen Standardwert für eine Spalte festlegen, sodass dieser auch dann verwendet wird, wenn Sie bei INSERT-Operationen keinen Wert für diese Spalte angeben. In diesem Fall kann der Befehl ALTER TABLE mit folgender Syntax verwendet werden:
ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];
Der Tabellenname ist der Name der Tabelle, deren Spalte geändert werden soll. Der Spaltenname ist der Name der Spalte, deren Standardwert festgelegt werden soll, und der Wert ist der Standardwert dieser Spalte. Betrachten Sie die untenstehende Tabelle „Buch“:
Wir müssen einen Standardwert für die Spalte book_author festlegen. Wir können den folgenden Befehl ausführen:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Fügen wir nun eine Zeile in die Tabelle ein:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners');
Beachten Sie, dass wir nur für zwei Spalten, id und name, Werte eingefügt haben. Für die Spalte book_author wurde jedoch der Standardwert verwendet:
Hinzufügen einer Check-Einschränkung
Eine Check-Einschränkung hilft bei der Validierung der Datensätze, die in eine Tabelle eingefügt werden. Wir können dies erreichen, indem wir den Befehl ALTER TABLE mit der Anweisung ADD CHECK kombinieren. Syntax:
ALTER TABLE table-name ADD CHECK expression;
Der Tabellenname ist der Name der zu ändernden Tabelle, und der Ausdruck ist die Einschränkung, die für die Tabellenspalte gelten soll. Ändern wir die Spalte „book_author“ der Tabelle „Book“ so, dass sie nur die Werte „Nicholas“ und „Samuel“ akzeptiert:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));
Versuchen wir nun, einen anderen Wert als „Nicholas“ oder „Samuel“ in die Spalte „book_author“ der Tabelle „Book“ einzufügen:
INSERT INTO Book VALUES(7, 'besten PostgreSQL Book', 'Gregory Bush');
Die Anweisung gibt den folgenden Fehler zurück:
Der Einfügevorgang ist fehlgeschlagen, da wir die Prüfbedingung verletzt haben.
Eine Tabelle umbenennen
Hier ist die Syntax für den ALTER TABLE-Befehl zum Umbenennen einer Tabelle:
ALTER TABLE table-name RENAME TO new-table-name;
Der Tabellenname ist der aktuelle Name der Tabelle, und der neue Tabellenname ist der neue Name, der der Tabelle zugewiesen werden soll. Ändern wir beispielsweise den Namen der Tabelle „Buch“ in „Bücher“:
ALTER TABLE Book RENAME TO Books;
Verwenden von pgAdmin
Bisher wurden die Aktionen über die SQL-Shell ausgeführt. Nun wollen wir uns ansehen, wie dieselben Aktionen visuell mit pgAdmin durchgeführt werden können.
Hinzufügen einer neuen Spalte
Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.
Schritt 2)
- Klicken Sie in der Navigationsleiste links auf Datenbanken.
- Klicken Sie auf Demo.
Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:
ALTER TABLE Book ADD author VARCHAR(50);
Schritt 4) Klicken Sie auf die Schaltfläche „Ausführen“.
Schritt 5) Um zu überprüfen, ob die Spalte hinzugefügt wurde, gehen Sie wie folgt vor:
- Klicken Sie im linken Navigationsbereich auf Datenbanken.
- Demo erweitern.
- Erweitern Sie Schemata.
- Erweitern Sie „Öffentlich“.
- Erweitern Sie Tabellen.
- Buch erweitern.
- Erweitern Sie Spalten.
Die Spalte hätte wie unten gezeigt hinzugefügt werden sollen:
Umbenennen einer Tabellenspalte
Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.
Schritt 2)
- Klicken Sie in der Navigationsleiste links auf Datenbanken.
- Klicken Sie auf Demo.
Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Schritt 4) Klicken Sie auf die Schaltfläche „Ausführen“.
Schritt 5) Um zu überprüfen, ob die Änderung erfolgreich war, erweitern Sie die Spalten der Buchtabelle wie zuvor:
Die Spalten sollten nun wie folgt aussehen:
Die Spalte wurde erfolgreich geändert.
Festlegen eines Standardwerts für eine Spalte
Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.
Schritt 2)
- Klicken Sie in der Navigationsleiste links auf Datenbanken.
- Klicken Sie auf Demo.
Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Schritt 4) Klicken Sie auf die Schaltfläche „Ausführen“.
Schritt 5) Zum Testen führen Sie folgenden Befehl im Abfrageeditor aus:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners')
Schritt 6) Jetzt können wir die Tabelle abfragen, um zu prüfen, ob der Standardwert in die Spalte book_author eingefügt wurde:
Hinzufügen einer Check-Einschränkung
Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.
Schritt 2)
- Klicken Sie in der Navigationsleiste links auf Datenbanken.
- Klicken Sie auf Demo.
Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))
Schritt 4) Klicken Sie auf die Schaltfläche „Ausführen“.
Schritt 5) Um dies zu testen, geben Sie die folgende Abfrage im Abfrageeditor ein und klicken Sie auf die Schaltfläche „Ausführen“:
INSERT INTO Book VALUES(7, 'besten PostgreSQL Book', 'Gregory Bush');
Es wird Folgendes zurückgegeben:
Eine Tabelle umbenennen
Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.
Schritt 2)
- Klicken Sie in der Navigationsleiste links auf Datenbanken.
- Klicken Sie auf Demo.
Schritt 3) Geben Sie die Abfrage im Abfrageeditor ein:
ALTER TABLE Book RENAME TO Books;
Schritt 4) Klicken Sie auf die Schaltfläche „Ausführen“.
Schritt 5) Um zu überprüfen, ob die Tabelle umbenannt wurde, erweitern Sie Datenbanken > Demo > Schemas > Öffentlich > Tabellen:
Die Tabelle wurde erfolgreich umbenannt.
Laden Sie die in diesem Tutorial verwendete Datenbank herunter

























