文章詳情頁
關于Mysql中json數據類型的查詢操作指南
瀏覽:3日期:2023-07-20 19:52:12
目錄查詢json對象指定屬性值的數據查詢json數組指定下標值的數據根據JSON對象里面的屬性個數查詢根據JSON數組里面的數組長度查詢查詢JSON對象屬性值為數組的任意項存在指定值查詢查詢JSON數組里面對象屬性任意項存在指定屬性的數據查詢JSON對象存在指定屬性的數據
下面用這個表來執行查詢演示:
CREATE TABLE `users` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL COMMENT '姓名', `address` json NOT NULL COMMENT '住址', PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;插入幾條數據
INSERT INTO `users` VALUES (1, '張三', '{\'city\': \'石家莊市\', \'tags\': [\'家\', \'公司\'], \'district\': \'橋西區\', \'province\': \'河北省\'}');INSERT INTO `users` VALUES (2, '李四', '{\'city\': \'廣州市\', \'tags\': [\'宿舍\'], \'district\': \'珠海區\', \'province\': \'廣州省\'}');INSERT INTO `users` VALUES (3, '王五', '{\'city\': \'長春市\', \'district\': \'綠園區\', \'province\': \'吉林省\'}');INSERT INTO `users` VALUES (4, '劉六', '{\'city\': \'昌平區\', \'province\': \'北京市\'}');INSERT INTO `users` VALUES (5, '張三三', '[{\'city\': \'石家莊市\', \'tags\': [\'家\', \'公司\', \'學校\'], \'district\': \'橋西區\', \'province\': \'河北省\'}, {\'city\': \'鄭州市\', \'tags\': [\'宿舍\'], \'district\': \'橋東區\', \'province\': \'河南省\'}]');INSERT INTO `users` VALUES (6, '李四四', '[{\'city\': \'廣州市\', \'tags\': [\'宿舍\'], \'district\': \'珠海區\', \'province\': \'廣州省\'}, {\'city\': \'廣州市\', \'district\': \'珠海區\', \'province\': \'廣州省\'}]');INSERT INTO `users` VALUES (7, '王五六', '[\'家\', \'公司\', \'學校\']');查詢json對象指定屬性值的數據1、函數查詢:json_extract(json字段, '$.json屬性')
select * from users where json_extract(address, '$.province') = '河北省';2、對象操作方法進行查詢:json字段->'$.json屬性'
select * from users where address->'$.province' = '河北省';1、數組操作方式查詢:字段->'$[0]'
select * from users where address->'$[0]'= '家';1、函數查詢:json_length(json字段)
select * from users where json_length(address) = 2;1、函數查詢:json_length(json字段)
select * from users where json_length(address) = 2;1、函數查詢:JSON_CONTAINS(json字段,JSON_OBJECT('json數組屬性', '內容'))
select * from users where JSON_CONTAINS(address,JSON_OBJECT('tags', '家'));到此這篇關于關于Mysql中json數據類型的查詢操作指南的文章就介紹到這了,更多相關Mysql json類型數據查詢內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
排行榜