Мисля, че можете да постигнете това само в Mysql 5.7.
Във версия 5.7 можете да направите нещо като:
SELECT JSON_EXTRACT(json_field, '$.name');
и ще извлече само ключа за име от json обект.
Търсене във всички елементи с етикета „JavaScript“:
SELECT * FROM `table` WHERE JSON_CONTAINS(json_field, '["JavaScript"]');
Намерете всички елементи с тагове, започващи с „Java“:
SELECT * FROM `table` WHERE JSON_SEARCH(json_field, 'one', 'Java%') IS NOT NULL;
използвайте 'one', за да намерите първото съвпадение или 'all', за да намерите всички съвпадения
Можете да извлечете псевдонима в Twitter, като използвате JSON път:
SELECT name, json_field->"$.twitter" AS `twitter` FROM `user`;
Можете също да посочите JSON път в клаузата WHERE, за да върнете само потребители с акаунт в Twitter:
SELECT name, profile->"$.twitter" AS `twitter` FROM `user` WHERE profile->"$.twitter" IS NOT NULL;
Можете да правите повече неща като:
-
Създаване на JSON стойности
-
Нормализиране, обединяване и автоматично опаковане на JSON стойности
-
Търсене и промяна на JSON стойности
-
Сравнение и подреждане на JSON стойности
-
Обединяване на JSON стойности
за повече информация, моля, вижте:https://dev.mysql. com/doc/refman/5.7/en/json.html