Creo que puedes lograr esto solo en Mysql 5.7.
En la versión 5.7 puedes hacer algo como:
SELECT JSON_EXTRACT(json_field, '$.name');
y extraerá solo la clave de nombre del objeto json.
Buscar todos los artículos con la etiqueta 'JavaScript':
SELECT * FROM `table` WHERE JSON_CONTAINS(json_field, '["JavaScript"]');
Buscar todos los artículos con etiquetas que comienzan con 'Java':
SELECT * FROM `table` WHERE JSON_SEARCH(json_field, 'one', 'Java%') IS NOT NULL;
use 'one' para encontrar la primera coincidencia o 'all' para encontrar todas las coincidencias
Puedes extraer el apodo de Twitter usando una ruta JSON:
SELECT name, json_field->"$.twitter" AS `twitter` FROM `user`;
También puede hacer referencia a una ruta JSON en la cláusula WHERE para devolver solo a los usuarios con una cuenta de Twitter:
SELECT name, profile->"$.twitter" AS `twitter` FROM `user` WHERE profile->"$.twitter" IS NOT NULL;
Puedes hacer más cosas como:
-
Creación de valores JSON
-
Normalización, fusión y ajuste automático de valores JSON
-
Búsqueda y modificación de valores JSON
-
Comparación y Ordenación de Valores JSON
-
Agregación de valores JSON
para obtener más información, consulte:https://dev.mysql. com/doc/refman/5.7/en/json.html