JSON ist ein beliebtes Datenformat zum Speichern strukturierter Daten, und es wird immer häufiger, JSON-Objekte in Datenbankspalten zu speichern. MySQL bietet mehrere Methoden zum Extrahieren von Daten aus JSON-Spalten, wodurch es einfacher wird, Daten basierend auf bestimmten Feldern abzufragen und zu filtern.
Verwendung von json_extract() (MySQL 5.7 und höher)
Für MySQL-Versionen 5.7 und höher bietet die Funktion json_extract() eine praktische Möglichkeit, bestimmte Werte aus JSON-Objekten zu extrahieren. Hier ist ein Beispiel:
SELECT user_id, json_data FROM articles WHERE json_extract(json_data, '$.title') LIKE '%CPU%';
Diese Abfrage ruft Zeilen ab, in denen das Feld "title" in der JSON-Spalte mit dem Muster "%CPU%" übereinstimmt. Es würde nur die erste Zeile aus der bereitgestellten Beispieltabelle zurückgegeben.
Verwendung von json_unquote() und json_contains() (MySQL 8.0 und höher)
In MySQL 8.0 und höher , kann die Funktion json_unquote() verwendet werden, um doppelte Anführungszeichen aus JSON-Werten zu entfernen, und die Funktion json_contains() kann verwendet werden, um zu überprüfen, ob ein bestimmter Wert in einem JSON-Objekt vorhanden ist. Hier ist eine alternative Abfrage:
SELECT user_id, json_data FROM articles WHERE json_unquote(json_value(json_data, '$.title')) LIKE '%CPU%';
Das obige ist der detaillierte Inhalt vonWie extrahiere ich JSON-Daten mithilfe von Abfragen aus MySQL-Spalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!