Heim > Datenbank > MySQL-Tutorial > Wie kann ich JSON-Daten in MySQL basierend auf bestimmten Feldwerten abfragen?

Wie kann ich JSON-Daten in MySQL basierend auf bestimmten Feldwerten abfragen?

Barbara Streisand
Freigeben: 2024-10-26 10:34:02
Original
460 Leute haben es durchsucht

How can I Query JSON Data in MySQL Based on Specific Field Values?

JSON-Daten in MySQL abfragen

Problem:

Sie haben eine MySQL-Tabelle mit einem Spalte, die JSON-Objekte speichert. Sie müssen Abfragen ausführen, die Ergebnisse basierend auf bestimmten JSON-Feldwerten filtern.

Lösung: Verwendung der Funktion json_extract

MySQL 5.7 und später führte die Funktion json_extract ein, die Ihnen dies ermöglicht um bestimmte Werte aus JSON-Objekten zu extrahieren, die in einer Spalte gespeichert sind. Dadurch können Sie Abfragen wie die folgenden durchführen:

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

Beispiel:

Beachten Sie die folgende Tabelle:

<code class="sql">CREATE TABLE articles (
  id int NOT NULL,
  user_id int NOT NULL,
  json_data json NOT NULL
);
INSERT INTO articles (id, user_id, json_data) VALUES
  (1, 1, '{"url":"https://www.cpubenchmark.net/","title": "CPU Benchmarks"}'),
  (2, 1, '{"url":"http://www.ebay.com/sch/CPUs-Processors-/164/i.html","title": "Computer and Processors"}'),
  (3, 2, '{"url":"https://www.youtube.com/watch?v=tntOCGkgt98","title": "Funny Cats Compilation"}');</code>
Nach dem Login kopieren

Ausführen der Abfrage Das oben gezeigte Ergebnis gibt das folgende Ergebnis zurück:

<code class="sql">+---------+--------------------------------------------------------------------------------------------------+
| user_id | json_data                                                                                        |
+---------+--------------------------------------------------------------------------------------------------+
|       1 | {"url":"https://www.cpubenchmark.net/","title": "CPU Benchmarks"}                                |
+---------+--------------------------------------------------------------------------------------------------+</code>
Nach dem Login kopieren

Dies zeigt, wie die Funktion json_extract zum Filtern von JSON-Daten in MySQL verwendet werden kann.

Das obige ist der detaillierte Inhalt vonWie kann ich JSON-Daten in MySQL basierend auf bestimmten Feldwerten abfragen?. 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