Eu acho que você pode conseguir isso apenas no Mysql 5.7.
Na versão 5.7 você pode fazer algo como:
SELECT JSON_EXTRACT(json_field, '$.name');
e extrairá apenas a chave de nome do objeto json.
Pesquise todos os itens com a tag 'JavaScript':
SELECT * FROM `table` WHERE JSON_CONTAINS(json_field, '["JavaScript"]');
Encontre todos os itens com tags começando com 'Java':
SELECT * FROM `table` WHERE JSON_SEARCH(json_field, 'one', 'Java%') IS NOT NULL;
use 'one' para encontrar a primeira correspondência ou 'all' para encontrar todas as correspondências
Você pode extrair o apelido do Twitter usando um caminho JSON:
SELECT name, json_field->"$.twitter" AS `twitter` FROM `user`;
Você também pode fazer referência a um caminho JSON na cláusula WHERE para retornar apenas usuários com uma conta do Twitter:
SELECT name, profile->"$.twitter" AS `twitter` FROM `user` WHERE profile->"$.twitter" IS NOT NULL;
Você pode fazer mais coisas como:
-
Criando valores JSON
-
Normalização, mesclagem e encapsulamento automático de valores JSON
-
Pesquisando e modificando valores JSON
-
Comparação e Ordenação de Valores JSON
-
Agregação de valores JSON
para obter mais informações, consulte:https://dev.mysql. com/doc/refman/5.7/en/json.html