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.
Verwenden 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 übereinstimmt. "%CPU%". 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 a In einem JSON-Objekt ist ein bestimmter Wert vorhanden. Hier ist eine alternative Abfrage:
SELECT user_id, json_data FROM articles WHERE json_unquote(json_value(json_data, '$.title')) LIKE '%CPU%';
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3