Heim >Datenbank >MySQL-Tutorial >Wie frage ich MySQL-Spalten mit JSON-Daten mithilfe von JSON-Funktionen ab?

Wie frage ich MySQL-Spalten mit JSON-Daten mithilfe von JSON-Funktionen ab?

Linda Hamilton
Linda HamiltonOriginal
2024-10-28 22:08:311019Durchsuche

How to Query MySQL Columns with JSON Data Using JSON Functions?

Abfragen von MySQL-Spalten mit JSON-Daten mithilfe von JSON-Funktionen

In MySQL können Sie JSON-Objekte als Werte in Datenbankspalten speichern. Um Daten aus diesen Spalten mithilfe bestimmter JSON-Felder in Ihren Abfragen effizient abzurufen, sollten Sie die Verwendung von JSON-Funktionen wie json_extract() in Betracht ziehen.

Verwendung von json_extract() für die Abfragefilterung

Betrachten wir zum Beispiel die folgende Tabelle mit dem Namen „Artikel“, die eine Spalte mit dem Namen „json_data“ mit JSON-Objekten enthält:

Column Data
id 1, 2, 3
user_id 1, 1, 2
json_data '{"url":"https://www.cpubenchmark.net/","title": "CPU Benchmarks"}', '{"url":"http://www.ebay.com/sch/CPUs-Processors-/164/i.html","title": "Computer and Processors"}', '{"url":"https://www.youtube.com/watch?v=tntOCGkgt98","title": "Funny Cats Compilation"}'

Um Datensätze basierend auf einem bestimmten JSON-Feld zu filtern, können Sie die Funktion json_extract() verwenden. Um beispielsweise Artikel abzurufen, die den Begriff „CPU“ im Titelfeld der JSON-Objekte enthalten:

SELECT user_id, json_data
FROM articles
WHERE json_extract(json_data, '$.title') LIKE '%CPU%';

Diese Abfrage gibt die erste Zeile zurück, da sie den Kriterien entspricht.

Zusätzliche Hinweise

  • json_extract() ermöglicht es Ihnen, bestimmte Werte aus JSON-Objekten zu extrahieren.
  • Für ältere Versionen von MySQL (vor 5.7) können Sie verwenden Alternative Methoden wie gespeicherte Routinen oder Erweiterungen von Drittanbietern.
  • Erwägen Sie die Verwendung von Indizes für JSON-Spalten, um die Abfrageleistung zu verbessern.

Das obige ist der detaillierte Inhalt vonWie frage ich MySQL-Spalten mit JSON-Daten mithilfe von JSON-Funktionen 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