Myslím, že toho můžete dosáhnout pouze v Mysql 5.7.
Ve verzi 5.7 můžete udělat něco jako:
SELECT JSON_EXTRACT(json_field, '$.name');
a extrahuje pouze klíč názvu z objektu json.
Vyhledat všechny položky se značkou 'JavaScript':
SELECT * FROM `table` WHERE JSON_CONTAINS(json_field, '["JavaScript"]');
Najít všechny položky se štítky začínajícími „Java“:
SELECT * FROM `table` WHERE JSON_SEARCH(json_field, 'one', 'Java%') IS NOT NULL;
použijte 'one' k nalezení první shody nebo 'all' k nalezení všech shod
Přezdívku na Twitteru můžete extrahovat pomocí cesty JSON:
SELECT name, json_field->"$.twitter" AS `twitter` FROM `user`;
Můžete také odkazovat na cestu JSON v klauzuli WHERE a vrátit pouze uživatele s účtem Twitter:
SELECT name, profile->"$.twitter" AS `twitter` FROM `user` WHERE profile->"$.twitter" IS NOT NULL;
Můžete dělat více věcí jako:
-
Vytváření hodnot JSON
-
Normalizace, slučování a automatické zalamování hodnot JSON
-
Vyhledávání a úprava hodnot JSON
-
Porovnání a řazení hodnot JSON
-
Agregace hodnot JSON
více informací naleznete na:https://dev.mysql. com/doc/refman/5.7/en/json.html