Heim > Datenbank > MySQL-Tutorial > Wie kann ich bestimmte JSON-Daten effizient von MySQL abrufen?

Wie kann ich bestimmte JSON-Daten effizient von MySQL abrufen?

Linda Hamilton
Freigeben: 2024-12-24 00:52:15
Original
550 Leute haben es durchsucht

How to Efficiently Retrieve Specific JSON Data from MySQL?

JSON-Daten aus MySQL abrufen

MySQL bietet eine bequeme Möglichkeit, bestimmte Informationen aus in seiner Datenbank gespeicherten JSON-Daten zu suchen und zu extrahieren. So können Sie eine solche Suche durchführen:

MySQL Version 5.7 und höher

Wenn Sie MySQL Version 5.7 oder höher verwenden, können Sie die Funktion JSON_EXTRACT verwenden. Mit dieser Funktion können Sie einen bestimmten Wert aus einer JSON-Zeichenfolge extrahieren. Um nach einem bestimmten Wert im Feld attribs_json zu suchen, können Sie eine Abfrage wie diese verwenden:

SELECT JSON_EXTRACT(attribs_json, '$.feature."1".value') AS feature_value
FROM products
WHERE JSON_EXTRACT(attribs_json, '$.feature."1".value') REGEXP '^[^""3"$]'
Nach dem Login kopieren

Diese Abfrage wählt den Wert des Schlüssels „value“ innerhalb des Schlüssels „1“ des „feature“ aus "-Objekt im Feld attribs_json für alle Produkte, die nicht „3“ als Wert haben.

Früheres MySQL Versionen

Für frühere Versionen von MySQL können Sie reguläre Ausdrücke mit dem REGEXP-Operator verwenden, um nach einem Muster innerhalb der JSON-Zeichenfolge zu suchen. Dieser Ansatz ist jedoch komplexer und erfordert eine intensivere Zeichenfolgenanalyse.

Beispielabfrage

Bedenken Sie die folgende JSON-Struktur:

{
  "feature": {
    "1": { "value": "[\"2\",\"3\"]" },
    "2": { "value": "[\"1\"]" },
    "3": { "value": "[\"1\"]" }
  }
}
Nach dem Login kopieren

An Suchen Sie nach dem Schlüssel „1“ mit einem Wert, der nicht „3“ ist, können Sie Folgendes verwenden Abfrage:

SELECT id, attribs_json
FROM products
WHERE attribs_json REGEXP '"1":{.*"value":"[^"3"$]$'
Nach dem Login kopieren

Wichtiger Hinweis

Denken Sie bei der Verwendung regulärer Ausdrücke daran, Sonderzeichen in Ihrem Suchmuster zu maskieren, um unbeabsichtigte Übereinstimmungen zu vermeiden. Außerdem kann die Syntax für JSON_EXTRACT und REGEXP je nach der von Ihnen verwendeten spezifischen MySQL-Version leicht variieren.

Das obige ist der detaillierte Inhalt vonWie kann ich bestimmte JSON-Daten effizient von MySQL abrufen?. 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