Heim > Datenbank > MySQL-Tutorial > Wie wähle ich in MySQL alle Spalten außer einer aus?

Wie wähle ich in MySQL alle Spalten außer einer aus?

Susan Sarandon
Freigeben: 2024-12-30 02:42:09
Original
494 Leute haben es durchsucht

How to Select All Columns Except One in MySQL?

Alle bis auf eine Spalte aus einer MySQL-Tabelle abrufen

Frage:

In einem MySQL Wie können Sie in einer Datenbank alle Spalten außer einer bestimmten in einer bestimmten Datenbank abrufen? Tabelle?

Antwort:

Obwohl dies wie eine einfache Aufgabe erscheinen mag, bietet MySQL keine integrierte Methode zum Ausschließen bestimmter Spalten in einer SELECT-Anweisung. Mit einer Kombination aus dynamischem SQL und gespeicherten Prozeduren ist es jedoch möglich, diese Funktionalität zu erreichen.

Lösung:

Folgen Sie diesen Schritten, um alle Spalten außer einer in abzurufen eine MySQL-Tabelle:

  1. Erstellen Sie eine gespeicherte Prozedur:
DELIMITER //

CREATE PROCEDURE get_all_columns_except(
    IN table_name VARCHAR(255),
    IN database_name VARCHAR(255),
    IN excluded_column VARCHAR(255)
)
BEGIN

    -- Dynamically build the SELECT statement
    SET @sql = CONCAT('SELECT ', (SELECT REPLACE(GROUP_CONCAT(COLUMN_NAME), excluded_column, '') FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = table_name AND TABLE_SCHEMA = database_name), ' FROM ', table_name);

    -- Prepare the statement for execution
    PREPARE stmt1 FROM @sql;

    -- Execute the statement
    EXECUTE stmt1;

END //

DELIMITER ;
Nach dem Login kopieren
  1. Gespeicherte Prozedur aufrufen:

Sobald die gespeicherte Prozedur erstellt wurde, können Sie sie aufrufen es mit dem folgenden Befehl:

CALL get_all_columns_except('table_name', 'database_name', 'excluded_column_name');
Nach dem Login kopieren
  1. Parameter Ersetzung:

Ersetzen Sie „table_name“, „database_name“ und „excluded_column_name“ durch die tatsächlichen Werte.

Beispiel:

Um alle Spalten außer der Spalte „Nachname“ in der Tabelle „Mitarbeiter“ abzurufen Wenn Sie die Datenbank „company_db“ verwenden, rufen Sie die gespeicherte Prozedur wie folgt auf:

CALL get_all_columns_except('employees', 'company_db', 'last_name');
Nach dem Login kopieren

Mit diesem Ansatz können Sie alle Spalten in einer Tabelle auswählen und automatisch eine bestimmte Spalte weglassen, selbst wenn die Tabelle eine große Anzahl enthält Spalten.

Das obige ist der detaillierte Inhalt vonWie wähle ich in MySQL alle Spalten außer einer aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage