Heim  >  Artikel  >  Datenbank  >  Wie wähle ich Spalten dynamisch basierend auf einem Platzhalterpräfix in MySQL aus?

Wie wähle ich Spalten dynamisch basierend auf einem Platzhalterpräfix in MySQL aus?

DDD
DDDOriginal
2024-11-04 04:44:29874Durchsuche

How to Select Columns Dynamically Based on a Wildcarded Prefix in MySQL?

Dynamisches Auswählen von Spalten basierend auf einem Platzhalterpräfix

Innerhalb einer Datenbank kann es vorkommen, dass bestimmte Spalten basierend auf einem ausgewählt werden müssen gemeinsames Präfix in ihren Namen. Während der bereitgestellte MySQL-Abfrageversuch mit einem Platzhalter nicht funktioniert, gibt es eine Lösung, bei der die SQL dynamisch generiert wird.

Um Spaltennamen abzurufen, die mit einem bestimmten Präfix beginnen, kann man die folgende SQL-Abfrage nutzen:

SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'Foods'
    AND table_schema = 'YourDB'
    AND column_name LIKE 'Vegetable%'

In dieser Abfrage stellt „Foods“ den Tabellennamen dar, „YourDB“ ist das Datenbankschema und „Vegetable“ ist das gewünschte Spaltenpräfix. Ersetzen Sie diese Werte durch Ihre spezifische Tabelle, Ihr Schema und Ihr Präfix.

Sobald die Spaltennamen ermittelt wurden, können Sie dynamisch eine Abfrage erstellen, um die entsprechenden Daten auszuwählen. Beispiel:

SELECT `VegetableName1`, `VegetableName2`, `VegetableName3`
FROM `Foods`

Hier wird davon ausgegangen, dass die erhaltenen Spaltennamen „Gemüsename1“, „Gemüsename2“ und „Gemüsename3“ lauten. Ersetzen Sie diese Namen durch diejenigen, die aus der obigen INFORMATION_SCHEMA-Abfrage abgeleitet wurden.

Mit diesem Ansatz können Sie bestimmte Spalten basierend auf ihrem gemeinsamen Platzhalterpräfix effektiv auswählen. Diese Technik ist nützlich, wenn Sie mit Datenbanken arbeiten, in denen Spaltennamen einheitlichen Namenskonventionen folgen.

Das obige ist der detaillierte Inhalt vonWie wähle ich Spalten dynamisch basierend auf einem Platzhalterpräfix in MySQL aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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