Heim >Datenbank >MySQL-Tutorial >Wie kann ich mit JSON_EXTRACT effektiv in MySQL gespeicherte JSON-Daten durchsuchen?

Wie kann ich mit JSON_EXTRACT effektiv in MySQL gespeicherte JSON-Daten durchsuchen?

DDD
DDDOriginal
2024-12-23 16:24:20416Durchsuche

How Can I Effectively Search JSON Data Stored in MySQL Using JSON_EXTRACT?

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:

  • Der $.feature.1.value-Ausdruck zielt auf den Wert des Schlüssels „1“ innerhalb des „feature " Objekt.
  • Das REGEXP-Prädikat beschränkt die Ergebnisse auf diejenigen, bei denen der extrahierte Wert die Zeichenfolge nicht enthält „3“.

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!

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