Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie wähle ich Daten aus Spalten mit ähnlichen Präfixen mithilfe von Dynamic SQL in MySQL aus?

Linda Hamilton
Freigeben: 2024-11-03 08:38:02
Original
1030 Leute haben es durchsucht

How to Select Data from Columns with Similar Prefixes using Dynamic SQL in MySQL?

Dynamisches SQL für die Auswahl von Wildcard-Spalten

Frage:

Angenommen, Sie haben eine Datenbanktabelle mit mehreren Spalten mit ähnlichen Präfixen, z. B. „Obst“ und „Gemüse“. Wie können Sie effizient Daten aus allen Spalten auswählen, die mit einem bestimmten Wort beginnen, ohne jeden Spaltennamen manuell anzugeben?

Beispiel:

Bedenken Sie die folgende Tabellenstruktur:

<code class="markdown">Foods | Fruit | Vegetable
----------------------
Apples | Banana | Carrots
Pears | Grapes | Potatoes
Oranges | Lemon | Tomatoes</code>
Nach dem Login kopieren

Sie möchten alle Spalten auswählen, deren Namen mit „Gemüse“ beginnen.

Antwort:

Direkte Platzhalterersetzungen in MySQL-Abfragen, wie z. B. SELECT Gemüse % werden nicht unterstützt. Um alle Spalten, die diese Kriterien erfüllen, dynamisch auszuwählen, können Sie die SQL-Abfrage basierend auf Informationen erstellen, die Sie aus dem Datenbankschema erhalten. Hier ist eine Lösung:

<code class="sql">SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'Foods'
  AND table_schema = 'YourDB'
  AND column_name LIKE 'Vegetable%'</code>
Nach dem Login kopieren

Diese Abfrage ruft die Namen aller Spalten in der Lebensmitteltabelle ab, die mit „Gemüse“ beginnen. Anschließend können Sie diese Informationen verwenden, um dynamisch eine zweite Abfrage zu erstellen, die Daten aus den gewünschten Spalten auswählt:

<code class="php">$columnList = mysql_query($columnsQuery);
$columnArray = array();
while ($row = mysql_fetch_assoc($columnList)) {
  array_push($columnArray, $row['COLUMN_NAME']);
}
$columns = implode(",", $columnArray);

$query = "SELECT " . $columns . " FROM Foods";</code>
Nach dem Login kopieren

Durch Ausführen dieser Abfrage können Sie alle Daten aus den Spalten abrufen, deren Namen mit „Gemüse“ beginnen ein einziger Durchgang.

Das obige ist der detaillierte Inhalt vonWie wähle ich Daten aus Spalten mit ähnlichen Präfixen mithilfe von Dynamic SQL in MySQL 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