JSON-Daten in MySQL durchsuchen
Sie haben Datensätze mit JSON-codierten Daten in eine MySQL-Datenbank eingefügt und müssen in diesen Daten suchen. Die bereitgestellte SQL-Abfrage liefert jedoch nicht die gewünschten Ergebnisse. Lassen Sie uns eine Lösung untersuchen, die die in MySQL Version 5.7 eingeführten JSON-Extraktionsfunktionen nutzt.
JSON-Extraktion in MySQL 5.7
In MySQL-Versionen 5.7 und höher bieten JSON-Extraktionsfunktionen eine Leistungsstarke Möglichkeit zum Navigieren und Abrufen von Daten aus JSON-Werten. Mit einer solchen Funktion, JSON_EXTRACT, können Sie auf bestimmte Schlüssel abzielen und deren entsprechende Werte extrahieren.
Anwenden von JSON_EXTRACT auf Ihre Abfrage
Um im Feld attribs_json nach einem bestimmten Schlüssel zu suchen -Wert-Paare können Sie JSON_EXTRACT als verwenden folgt:
SELECT id, JSON_EXTRACT(attribs_json, "$.feature.1.value") AS matching_value FROM products WHERE JSON_EXTRACT(attribs_json, "$.feature.1.value") REGEXP '\[[^"]*3[^"]*\]'
Erklärung:
Diese Abfrage gibt alle Zeilen zurück, in denen der Schlüssel „1“ im Objekt „feature“ einen Wert hat, der „3“ nicht enthält. Für die bereitgestellten Daten werden Zeilen mit „1“-Werten von [„2“] und [„2“, „1“] abgeglichen.
Schlussfolgerung
Durch die Nutzung der JSON-Extraktionsfunktionen von MySQL können Sie in JSON-codierten Feldern gespeicherte Daten effektiv durchsuchen und darauf zugreifen. Die Funktion JSON_EXTRACT bietet eine flexible und effiziente Möglichkeit, bestimmte Werte zu extrahieren und komplexe Filtervorgänge für JSON-Daten durchzuführen.
Das obige ist der detaillierte Inhalt vonWie kann ich mit JSON_EXTRACT effektiv in MySQL gespeicherte JSON-Daten durchsuchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!