Ich denke, Sie können dies nur in Mysql 5.7 erreichen.
In Version 5.7 können Sie so etwas tun:
SELECT JSON_EXTRACT(json_field, '$.name');
und es wird nur der Namensschlüssel extrahiert aus dem json-Objekt.
Alle Elemente mit dem 'JavaScript'-Tag durchsuchen:
SELECT * FROM `table` WHERE JSON_CONTAINS(json_field, '["JavaScript"]');
Alle Elemente finden, deren Tags mit „Java“ beginnen:
SELECT * FROM `table` WHERE JSON_SEARCH(json_field, 'one', 'Java%') IS NOT NULL;
Verwenden Sie „one“, um die erste Übereinstimmung zu finden, oder „all“, um alle Übereinstimmungen zu finden
Sie können den Twitter-Spitznamen mithilfe eines JSON-Pfads extrahieren:
SELECT name, json_field->"$.twitter" AS `twitter` FROM `user`;
Sie können in der WHERE-Klausel auch auf einen JSON-Pfad verweisen, um nur Benutzer mit einem Twitter-Konto zurückzugeben:
SELECT name, profile->"$.twitter" AS `twitter` FROM `user` WHERE profile->"$.twitter" IS NOT NULL;
Sie können weitere Dinge tun wie:
-
Erstellen von JSON-Werten
-
Normalisierung, Zusammenführung und Autowrapping von JSON-Werten
-
Suchen und Ändern von JSON-Werten
-
Vergleich und Reihenfolge von JSON-Werten
-
Aggregation von JSON-Werten
Weitere Informationen finden Sie unter:https://dev.mysql. com/doc/refman/5.7/en/json.html