Heim  >  Artikel  >  Datenbank  >  Wie frage ich in MySQL-Spalten gespeicherte JSON-Daten ab?

Wie frage ich in MySQL-Spalten gespeicherte JSON-Daten ab?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-27 16:00:03163Durchsuche

 How to Query JSON Data Stored in MySQL Columns?

JSON-Daten in MySQL-Spalten abfragen

In MySQL können Sie JSON-Objekte in Spalten speichern, um komplexe Datenstrukturen zu speichern. Um diese JSON-Felder effizient abzufragen, kann es schwierig sein, sie in WHERE-Klauseln einzubinden. Hier ist eine Lösung:

Lösung mit json_extract

MySQL 5.7 und höher unterstützen die Funktion json_extract, mit der Sie bestimmte Werte aus JSON-Daten extrahieren können. Diese Funktion akzeptiert zwei Argumente: die JSON-Daten und einen JSON-Pfadausdruck.

Beispiel:

Angenommen, Sie haben eine „articles“-Tabelle mit einer „json_data“-Spalte das JSON-Objekte speichert. So finden Sie Artikel mit Titeln, die „CPU“ enthalten:

<code class="sql">SELECT user_id, json_data
FROM articles
WHERE json_extract(json_data, '$.title') LIKE '%CPU%';</code>

Diese Abfrage gibt Folgendes zurück:

+---------+--------------------------------------------------------------------------------------------------+
| user_id | json_data                                                                                        |
+---------+--------------------------------------------------------------------------------------------------+
|       1 | {"url":"https://www.cpubenchmark.net/","title": "CPU Benchmarks"}                                |
+---------+--------------------------------------------------------------------------------------------------+

Erklärung:

  • Die Funktion json_extract extrahiert das Feld „title“ aus den JSON-Daten in der Spalte „json_data“.
  • Der LIKE-Operator wird verwendet, um den extrahierten Wert mit „%CPU%“ zu vergleichen.

Durch die Einbindung von json_extract in Ihre Abfragen können Sie JSON-Daten in MySQL einfach durchsuchen und filtern, was es zu einem leistungsstarken Tool für die Arbeit mit komplexen Daten macht.

Das obige ist der detaillierte Inhalt vonWie frage ich in MySQL-Spalten gespeicherte JSON-Daten ab?. 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