Heim > Datenbank > MySQL-Tutorial > Wie kann ich alle Spalten außer einer effizient aus einer MySQL-Tabelle abrufen?

Wie kann ich alle Spalten außer einer effizient aus einer MySQL-Tabelle abrufen?

Barbara Streisand
Freigeben: 2025-01-04 17:49:40
Original
546 Leute haben es durchsucht

How to Efficiently Retrieve All Columns Except One from a MySQL Table?

Alle Spalten außer einer aus der MySQL-Tabelle abrufen

Es gibt viele Situationen, in denen das Abrufen bestimmter Spalten aus einer Tabelle erforderlich ist. MySQL bietet durch seine leistungsstarke SELECT-Anweisung Flexibilität beim Abrufen von Daten. Es kann jedoch vorkommen, dass Sie alle Spalten außer einer bestimmten benötigen. Anstatt die gewünschten Spalten manuell anzugeben, kann ein effizienterer Ansatz gewählt werden.

Sie können die Kombination aus dynamischem SQL und einer vorbereiteten Anweisung nutzen, um dynamisch eine SELECT-Abfrage zu generieren, die die angegebene Spalte ausschließt. So geht's:

  1. Konstruieren Sie eine dynamische SQL-Zeichenfolge:

    SET @sql = CONCAT('SELECT ', (SELECT REPLACE(GROUP_CONCAT(COLUMN_NAME), '<columns_to_omit>,', '') FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '<table>' AND TABLE_SCHEMA = '<database>'), ' FROM <table>');
    Nach dem Login kopieren
  2. Bereiten Sie die vor Aussage:

    PREPARE stmt1 FROM @sql;
    Nach dem Login kopieren
  3. Führen Sie das Vorbereitete aus Anweisung:

    EXECUTE stmt1;
    Nach dem Login kopieren

Ersetzungen: