Ik denk dat je dit alleen kunt bereiken in Mysql 5.7.
In versie 5.7 kun je zoiets doen als:
SELECT JSON_EXTRACT(json_field, '$.name');
en het extraheert alleen de naamsleutel van json-object.
Zoek in alle items met de tag 'JavaScript':
SELECT * FROM `table` WHERE JSON_CONTAINS(json_field, '["JavaScript"]');
Zoek alle items met tags die beginnen met 'Java':
SELECT * FROM `table` WHERE JSON_SEARCH(json_field, 'one', 'Java%') IS NOT NULL;
gebruik 'one' om de eerste match te vinden of 'all' om alle matches te vinden
Je kunt de Twitter-bijnaam extraheren met een JSON-pad:
SELECT name, json_field->"$.twitter" AS `twitter` FROM `user`;
Je kunt ook verwijzen naar een JSON-pad in de WHERE-clausule om alleen gebruikers met een Twitter-account te retourneren:
SELECT name, profile->"$.twitter" AS `twitter` FROM `user` WHERE profile->"$.twitter" IS NOT NULL;
Je kunt meer dingen doen, zoals:
-
JSON-waarden maken
-
Normalisatie, samenvoegen en autowrapping van JSON-waarden
-
JSON-waarden zoeken en wijzigen
-
Vergelijking en volgorde van JSON-waarden
-
Aggregatie van JSON-waarden
Raadpleeg voor meer informatie:https://dev.mysql. com/doc/refman/5.7/en/json.html