Heim >Datenbank >MySQL-Tutorial >Wie kann ich alle Spalten außer einer effizient aus einer MySQL-Tabelle abrufen?
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:
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>');
Bereiten Sie die vor Aussage:
PREPARE stmt1 FROM @sql;
Führen Sie das Vorbereitete aus Anweisung:
EXECUTE stmt1;
Ersetzungen: