Heim  >  Artikel  >  Datenbank  >  Wie extrahiere ich JSON-Daten mithilfe von Abfragen aus MySQL-Spalten?

Wie extrahiere ich JSON-Daten mithilfe von Abfragen aus MySQL-Spalten?

Barbara Streisand
Barbara StreisandOriginal
2024-10-27 13:09:01514Durchsuche

How do I Extract JSON Data from MySQL Columns Using Queries?

JSON-Daten in MySQL mit Abfragen extrahieren

JSON ist ein beliebtes Datenformat zum Speichern strukturierter Daten, und es wird immer häufiger, JSON-Objekte in Datenbankspalten zu speichern. MySQL bietet mehrere Methoden zum Extrahieren von Daten aus JSON-Spalten, wodurch es einfacher wird, Daten basierend auf bestimmten Feldern abzufragen und zu filtern.

Verwendung von json_extract() (MySQL 5.7 und höher)

Für MySQL-Versionen 5.7 und höher bietet die Funktion json_extract() eine praktische Möglichkeit, bestimmte Werte aus JSON-Objekten zu extrahieren. Hier ist ein Beispiel:

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

Diese Abfrage ruft Zeilen ab, in denen das Feld "title" in der JSON-Spalte mit dem Muster "%CPU%" übereinstimmt. Es würde nur die erste Zeile aus der bereitgestellten Beispieltabelle zurückgegeben.

Verwendung von json_unquote() und json_contains() (MySQL 8.0 und höher)

In MySQL 8.0 und höher , kann die Funktion json_unquote() verwendet werden, um doppelte Anführungszeichen aus JSON-Werten zu entfernen, und die Funktion json_contains() kann verwendet werden, um zu überprüfen, ob ein bestimmter Wert in einem JSON-Objekt vorhanden ist. Hier ist eine alternative Abfrage:

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

Das obige ist der detaillierte Inhalt vonWie extrahiere ich JSON-Daten mithilfe von Abfragen aus MySQL-Spalten?. 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