Penso che tu possa ottenere questo risultato solo in MySQL 5.7.
Nella versione 5.7 puoi fare qualcosa come:
SELECT JSON_EXTRACT(json_field, '$.name');
ed estrarrà solo la chiave del nome dall'oggetto json.
Cerca in tutti gli elementi con il tag 'JavaScript':
SELECT * FROM `table` WHERE JSON_CONTAINS(json_field, '["JavaScript"]');
Trova tutti gli elementi con tag che iniziano con "Java":
SELECT * FROM `table` WHERE JSON_SEARCH(json_field, 'one', 'Java%') IS NOT NULL;
usa "uno" per trovare la prima corrispondenza o "tutti" per trovare tutte le corrispondenze
Puoi estrarre il nickname Twitter utilizzando un percorso JSON:
SELECT name, json_field->"$.twitter" AS `twitter` FROM `user`;
Puoi anche fare riferimento a un percorso JSON nella clausola WHERE per restituire solo gli utenti con un account Twitter:
SELECT name, profile->"$.twitter" AS `twitter` FROM `user` WHERE profile->"$.twitter" IS NOT NULL;
Puoi fare più cose come:
-
Creazione di valori JSON
-
Normalizzazione, unione e wrapping automatico dei valori JSON
-
Ricerca e modifica dei valori JSON
-
Confronto e ordinamento dei valori JSON
-
Aggregazione di valori JSON
per ulteriori informazioni, fare riferimento a:https://dev.mysql. com/doc/refman/5.7/en/json.html