PostgreSQL ALTER-Tabelle: ADD-Spalte, Spalten- / Tabellenbeispiele umbenennen

Inhaltsverzeichnis:

Anonim

Mit dem Befehl ALTER TABLE wird die Struktur einer PostgreSQL-Tabelle geändert. Mit diesem Befehl können Sie die Tabellenspalten oder den Namen der Tabelle ändern.

In diesem Tutorial lernen Sie:

  • Syntax
  • Beschreibung
  • Eine Spalte ändern
    • Hinzufügen einer neuen Spalte
    • Umbenennen einer Tabellenspalte
  • Festlegen eines Standardwerts für eine Spalte
  • Hinzufügen einer Prüfbedingung
  • Tabelle umbenennen
  • Verwenden von pgAdmin

Syntax

Hier ist die Syntax für den Befehl PostgreSQL ALTER TABLE:

ALTER TABLE table-name action;

Der Parameter table-name ist der Name der Tabelle, die Sie ändern müssen.

Der Aktionsparameter ist die Aktion, die Sie ausführen müssen, z. B. Ändern des Namens einer Spalte, Ändern des Datentyps einer Spalte usw.

Beschreibung

Der Befehl ALTER TABLE ändert die Definition einer vorhandenen Tabelle. Es werden die folgenden Unterformulare benötigt:

  • ADD COLUMN : Dies verwendet eine ähnliche Syntax wie der Befehl CREATE TABLE, um einer Tabelle eine neue Spalte hinzuzufügen.
  • DROP COLUMN : Zum Löschen einer Tabellenspalte. Die Einschränkungen und Indizes, die den Spalten auferlegt werden, werden ebenfalls gelöscht.
  • SET / DROP DEFAULT : Zum Entfernen des Standardwerts für eine Spalte. Die Änderung gilt jedoch nur für die nachfolgenden INSERT-Anweisungen.
  • SET / DROP NOT NULL : Ändert, ob eine Spalte Nullen zulässt oder nicht.
  • SET STATISTICS: Zum Festlegen des Ziels für die Erfassung von Statistiken für jede Spalte für ANALYZE-Operationen.
  • SET STORAGE : Zum Einstellen des Speichermodus für eine Spalte. Dadurch wird festgelegt, wo sich die Spalte befindet, ob inline oder in einer ergänzenden Tabelle.
  • SET WITHOUT OIDS : Verwenden Sie diese Option , um die alte Spalte der Tabelle zu entfernen.
  • RENAME : Zum Ändern des Tabellennamens oder eines Spaltennamens.
  • ADD table_constraint : Zum Hinzufügen einer neuen Einschränkung zu einer Tabelle. Es wird dieselbe Syntax wie beim Befehl CREATE TABLE verwendet.
  • DROP CONSTRAINT : Zum Löschen einer Tabelleneinschränkung.
  • EIGENTÜMER : Zum Ändern des Besitzers einer Tabelle, Sequenz, eines Index oder einer Ansicht für einen bestimmten Benutzer.
  • CLUSTER : Zum Markieren einer Tabelle, die zum Ausführen zukünftiger Clusteroperationen verwendet werden soll.

Eine Spalte ändern

Eine Spalte kann auf verschiedene Arten geändert werden. Solche Änderungen können mit dem Befehl ALTER TABLE vorgenommen werden. Lassen Sie uns diese diskutieren:

Hinzufügen einer neuen Spalte

Um einer PostgreSQL-Tabelle eine neue Spalte hinzuzufügen, wird der Befehl ALTER TABLE mit der folgenden Syntax verwendet:

ALTER TABLE table-nameADD new-column-name column-definition;

Der Tabellenname ist der Name der zu ändernden Tabelle.

Der neue Spaltenname ist der Name der neuen Spalte, die hinzugefügt werden soll.

Die Spaltendefinition ist der Datentyp der neuen Spalte.

Siehe die unten gezeigte Buchtabelle:

Die Tabelle enthält zwei Spalten: ID und Name. Wir müssen der Tabelle eine neue Spalte hinzufügen und ihr den Namen author geben. Führen Sie einfach den folgenden Befehl aus:

ALTER TABLE BookADD author VARCHAR(50);

Nach dem Ausführen des obigen Befehls lautet die Buchtabelle nun wie folgt:

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-nameRENAME COLUMN old-name TO new-name;

Der Tabellenname ist der Name der Tabelle, deren Spalte umbenannt werden soll.

Der alte Name ist der alte / aktuelle Name der Spalte.

Der neue Name ist der neue Name der Spalte. Betrachten Sie das unten gezeigte Tabellenbuch:

Buch:

Wir benötigen den Namen des Spaltenautors für book_author. Hier ist der Befehl:

ALTER TABLE BookRENAME COLUMN author TO book_author;

Nach dem Ausführen des Befehls 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 der Standardwert verwendet wird, auch wenn Sie während INSERT-Vorgängen keinen Wert für diese Spalte angeben. In diesem Fall kann der Befehl ALTER TABLE mit der folgenden 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, für den der Standardwert festgelegt werden soll.

Der Wert ist der Standardwert für die Spalte.

Betrachten Sie die unten angegebene Büchertabelle:

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 Werte für zwei Spalten, id und name, eingefügt haben. Der Standardwert wurde jedoch für die Spalte book_author verwendet:

Hinzufügen einer Prüfbedingung

Eine Prüfbedingung hilft bei der Überprüfung der Datensätze, die in eine Tabelle eingefügt werden. Wir können dies tun, 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.

Der Ausdruck ist die Einschränkung, die der Tabellenspalte auferlegt werden soll.

Ändern wir die Spalte book_author der Book-Tabelle so, dass nur die Werte Nicholas und Samuel akzeptiert werden:

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 Buchtabelle einzufügen:

INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');

Die Anweisung gibt den folgenden Fehler zurück:

Der Einfügevorgang ist fehlgeschlagen, weil wir die Prüfbedingung verletzt haben.

Tabelle umbenennen

Hier ist die Syntax für den Befehl ALTER TABLE zum Umbenennen einer Tabelle:

ALTER TABLE table-nameRENAME TO new-table-name;

Der Tabellenname ist der aktuelle Name der Tabelle.

Der neue Tabellenname ist der neue Name, der der Tabelle zugewiesen werden soll.

Ändern wir beispielsweise den Namen der Buchtabelle in Bücher:

ALTER TABLE BookRENAME TO Books;

Verwenden von pgAdmin

Nun wollen wir sehen, wie diese Aktionen mit pgAdmin ausgeführt werden können.

Hinzufügen einer neuen Spalte

Gehen Sie folgendermaßen vor, um dasselbe mit pgAdmin zu erreichen:

Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.

Schritt 2)

  1. Klicken Sie in der Navigationsleiste links auf Datenbanken.
  2. Klicken Sie auf Demo.

Schritt 3) Geben Sie die Abfrage in den Abfrageeditor ein:

ALTER TABLE BookADD author VARCHAR(50);

Schritt 4) Klicken Sie auf die Schaltfläche Ausführen.

Schritt 5) Gehen Sie wie folgt vor, um zu überprüfen, ob die Spalte hinzugefügt wurde:

  1. Klicken Sie in der linken Navigation auf Datenbanken.
  2. Erweitern Sie Demo.
  3. Erweitern Sie Schemata.
  4. Erweitern Sie Öffentlich.
  5. Tabellen erweitern.
  6. Buch erweitern.
  7. Spalten erweitern.

Die Spalte sollte wie unten gezeigt hinzugefügt worden sein:

Umbenennen einer Tabellenspalte

Gehen Sie folgendermaßen vor, um dasselbe mit pgAdmin zu erreichen:

Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.

Schritt 2)

  1. Klicken Sie in der Navigationsleiste links auf Datenbanken.
  2. Klicken Sie auf Demo.

Schritt 3) Geben Sie die Abfrage in den Abfrageeditor ein:

ALTER TABLE BookRENAME COLUMN author TO book_author;

Schritt 4) Klicken Sie auf die Schaltfläche Ausführen.

Schritt 5) Gehen Sie wie folgt vor, um zu überprüfen, ob die Änderung erfolgreich war:

  1. Klicken Sie in der linken Navigation auf Datenbanken.
  2. Erweitern Sie Demo.
  3. Erweitern Sie Schemata.
  4. Erweitern Sie Öffentlich.
  5. Tabellen erweitern.
  6. Buch erweitern.
  7. Spalten erweitern.

Die Spalten sollten nun wie folgt sein:

Die Spalte wurde erfolgreich geändert.

Festlegen eines Standardwerts für eine Spalte

Gehen Sie folgendermaßen vor, um dasselbe mit pgAdmin zu erreichen:

Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.

Schritt 2)

  1. Klicken Sie in der Navigationsleiste links auf Datenbanken.
  2. Klicken Sie auf Demo.

Schritt 3) Geben Sie die Abfrage in den 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) Führen Sie zum Testen den 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 überprüfen, ob der Standardwert in die Spalte book_author eingefügt wurde:

Hinzufügen einer Prüfbedingung

Gehen Sie folgendermaßen vor, um dasselbe mit pgAdmin zu erreichen:

Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.

Schritt 2)

  1. Klicken Sie in der Navigationsleiste links auf Datenbanken.
  2. Klicken Sie auf Demo.

Schritt 3) Geben Sie die Abfrage in den 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, gehen Sie wie folgt vor:

  1. Geben Sie die folgende Abfrage in den Abfrageeditor ein:
    INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
  2. Klicken Sie auf die Schaltfläche Ausführen.

    Es wird Folgendes zurückgegeben:

Tabelle umbenennen

Gehen Sie folgendermaßen vor, um dasselbe mit pgAdmin zu erreichen:

Schritt 1) Melden Sie sich bei Ihrem pgAdmin-Konto an.

Schritt 2)

  1. Klicken Sie in der Navigationsleiste links auf Datenbanken.
  2. Klicken Sie auf Demo.

Schritt 3) Geben Sie die Abfrage in den Abfrageeditor ein:

ALTER TABLE BookRENAME TO Books;

Schritt 4) Klicken Sie auf die Schaltfläche Ausführen.

Schritt 5) Gehen Sie wie folgt vor, um zu überprüfen, ob die Tabelle umbenannt wurde:

  1. Klicken Sie in der linken Navigation auf Datenbanken.
  2. Erweitern Sie Demo.
  3. Erweitern Sie Schemata.
  4. Erweitern Sie Öffentlich.
  5. Tabellen erweitern.

Die Tabelle wurde erfolgreich umbenannt.

Zusammenfassung:

  • Die Anweisung ALTER TABLE wird verwendet, um die Struktur der Tabelle zu ändern.
  • Der Befehl ALTER TABLE hat je nach auszuführender Aufgabe verschiedene Formen.
  • Die Struktur kann die Tabellenspalten oder die Tabelle selbst sein.
  • Mit dieser Anweisung können wir den Namen einer Tabelle ändern.
  • Mit dem Befehl ALTER TABLE kann der Standardwert einer Spalte festgelegt werden.
  • Die Anweisung kann verwendet werden, um die Werte zu validieren, die in eine Tabellenspalte eingegeben werden.

Laden Sie die in diesem Tutorial verwendete Datenbank herunter