成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

關(guān)于Mysql中json數(shù)據(jù)類型的查詢操作指南

瀏覽:3日期:2023-07-20 19:52:12
目錄查詢json對(duì)象指定屬性值的數(shù)據(jù)查詢json數(shù)組指定下標(biāo)值的數(shù)據(jù)根據(jù)JSON對(duì)象里面的屬性個(gè)數(shù)查詢根據(jù)JSON數(shù)組里面的數(shù)組長(zhǎng)度查詢查詢JSON對(duì)象屬性值為數(shù)組的任意項(xiàng)存在指定值查詢查詢JSON數(shù)組里面對(duì)象屬性任意項(xiàng)存在指定屬性的數(shù)據(jù)查詢JSON對(duì)象存在指定屬性的數(shù)據(jù)

下面用這個(gè)表來(lái)執(zhí)行查詢演示:

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;

插入幾條數(shù)據(jù)

INSERT INTO `users` VALUES (1, '張三', '{\'city\': \'石家莊市\(zhòng)', \'tags\': [\'家\', \'公司\'], \'district\': \'橋西區(qū)\', \'province\': \'河北省\'}');INSERT INTO `users` VALUES (2, '李四', '{\'city\': \'廣州市\(zhòng)', \'tags\': [\'宿舍\'], \'district\': \'珠海區(qū)\', \'province\': \'廣州省\'}');INSERT INTO `users` VALUES (3, '王五', '{\'city\': \'長(zhǎng)春市\(zhòng)', \'district\': \'綠園區(qū)\', \'province\': \'吉林省\'}');INSERT INTO `users` VALUES (4, '劉六', '{\'city\': \'昌平區(qū)\', \'province\': \'北京市\(zhòng)'}');INSERT INTO `users` VALUES (5, '張三三', '[{\'city\': \'石家莊市\(zhòng)', \'tags\': [\'家\', \'公司\', \'學(xué)校\'], \'district\': \'橋西區(qū)\', \'province\': \'河北省\'}, {\'city\': \'鄭州市\(zhòng)', \'tags\': [\'宿舍\'], \'district\': \'橋東區(qū)\', \'province\': \'河南省\'}]');INSERT INTO `users` VALUES (6, '李四四', '[{\'city\': \'廣州市\(zhòng)', \'tags\': [\'宿舍\'], \'district\': \'珠海區(qū)\', \'province\': \'廣州省\'}, {\'city\': \'廣州市\(zhòng)', \'district\': \'珠海區(qū)\', \'province\': \'廣州省\'}]');INSERT INTO `users` VALUES (7, '王五六', '[\'家\', \'公司\', \'學(xué)校\']');查詢json對(duì)象指定屬性值的數(shù)據(jù)

1、函數(shù)查詢:json_extract(json字段, '$.json屬性')

select * from users where json_extract(address, '$.province') = '河北省';

2、對(duì)象操作方法進(jìn)行查詢:json字段->'$.json屬性'

select * from users where address->'$.province' = '河北省';

查詢json數(shù)組指定下標(biāo)值的數(shù)據(jù)

1、數(shù)組操作方式查詢:字段->'$[0]'

select * from users where address->'$[0]'= '家';

根據(jù)JSON對(duì)象里面的屬性個(gè)數(shù)查詢

1、函數(shù)查詢:json_length(json字段)

select * from users where json_length(address) = 2;

根據(jù)JSON數(shù)組里面的數(shù)組長(zhǎng)度查詢

1、函數(shù)查詢:json_length(json字段)

select * from users where json_length(address) = 2;

查詢JSON對(duì)象屬性值為數(shù)組的任意項(xiàng)存在指定值查詢

1、函數(shù)查詢:JSON_CONTAINS(json字段,JSON_OBJECT('json數(shù)組屬性', '內(nèi)容'))

select * from users where JSON_CONTAINS(address,JSON_OBJECT('tags', '家'));

查詢JSON數(shù)組里面對(duì)象屬性任意項(xiàng)存在指定屬性的數(shù)據(jù)select * from users where address->'$[*].city' is not null;

查詢JSON對(duì)象存在指定屬性的數(shù)據(jù)select * from users where address->'$.tags' is not null;

到此這篇關(guān)于關(guān)于Mysql中json數(shù)據(jù)類型的查詢操作指南的文章就介紹到這了,更多相關(guān)Mysql json類型數(shù)據(jù)查詢內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: MySQL 數(shù)據(jù)庫(kù)