Löschen Sie eine Spalte, wenn sie in MySQL vorhanden ist

Shraddha Paghdar 20 Juni 2023
Löschen Sie eine Spalte, wenn sie in MySQL vorhanden ist

Im heutigen Beitrag erfahren wir, wie Sie einzelne oder mehrere Spalten löschen, wenn sie in MySQL vorhanden sind.

Löschen Sie eine Spalte, wenn sie in MySQL vorhanden ist

In einer Tabelle ist eine Spalte eine Reihe von Zellen, die Text, Zahlen und Grafiken enthalten können. Für jede Zeile in einer Tabelle wird in jeder Spalte ein Wert gespeichert.

Möglicherweise möchten wir einzelne oder mehrere Spalten aus einer Tabelle löschen. Die Spalten einer Tabelle können mit dem MySQL-Befehl ALTER TABLE hinzugefügt, geändert oder entfernt/gelöscht werden.

Wenn Spalten aus einer Tabelle entfernt werden, werden sie auch aus allen Indizes gelöscht, zu denen sie gehörten. Ein Index wird auch gelöscht, wenn alle Spalten, aus denen er besteht, entfernt werden.

Die Klausel IF EXISTS wird nur zum Eliminieren von Datenbanken, Tabellen und Ansichten verwendet. Wenn bei Verwendung von IF EXISTS das zu löschende Objekt nicht existiert, wird die Ausführung unterbrochen, sobald MySQL das Fehlen der Entität bemerkt und eine Warnung sendet.

Das Systemschema wird von MySQL verwendet. Es enthält Tabellen und Spalten mit den Daten, die der laufende MySQL-Server benötigt.

Das MySQL-Schema wird allgemein in Systemtabellen für allgemeine betriebliche Zwecke und Datenwörterbuchtabellen zum Speichern von Metadaten von Datenbankelementen kategorisiert. Die Tabelle COLUMNS enthält Angaben zu Tabellenspalten.

Syntax:

DROP COLUMN column_name ON table_name;
ALTER TABLE table_name DROP COLUMN column_name;
ALTER TABLE table_name DROP COLUMN column_name_1, DROP COLUMN column_name_2;
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = table_name AND COLUMN_NAME = column_name

Dabei ist column_name der Name der zu löschenden Spalte und table_name der Name der Tabelle, aus der die Spalte gelöscht werden soll. Da der Begriff COLUMN in der DROP COLUMN-Klausel optional ist, können Sie die folgende kürzere Anweisung verwenden:

ALTER TABLE table_name DROP column_name;

Der vorletzte Satz zeigt, wie Sie, wenn Sie die Operationen durch Kommas trennen, zahlreiche Drop-Aktionen mit einer einzigen ALTER TABLE-Abfrage durchführen können.

Um das vorherige Konzept besser zu verstehen, betrachten Sie das folgende Beispiel:

DROP COLUMN email ON Employees;
ALTER TABLE Employees DROP COLUMN email;
IF EXISTS (SELECT 1
    FROM   INFORMATION_SCHEMA.COLUMNS
        WHERE  TABLE_NAME = 'Employees'
        AND COLUMN_NAME = 'email')
    BEGIN
        ALTER TABLE Employees
        DROP COLUMN email
    END
GO

Im obigen Beispiel entfernen wir die Spalte email aus der Tabelle Mitarbeiter. Dadurch werden die Spalte email, alle gespeicherten Daten und alle zugehörigen Indizes gelöscht.

Wenn Sie sicherstellen möchten, dass sich die Spalte email in der Tabelle Mitarbeiter befindet, verwenden Sie den letzten Befehl, der sie von INFORMATION_SCHEMA überprüft und löscht, wenn sie wahr zurückgibt.

Führen Sie die obige Codezeile in jedem mit MySQL kompatiblen Browser aus. Es wird das folgende Ergebnis angezeigt.

Ausgang:

Query executed successfully.
Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn

Verwandter Artikel - MySQL Column