亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Mysql中json類型數(shù)據(jù)查詢的實(shí)現(xiàn)

 更新時(shí)間:2023年10月17日 09:54:57   作者:msw、  
MySQL5.7開始支持JSON格式的數(shù)據(jù)類型,可以存儲(chǔ)和處理JSON類型的數(shù)據(jù),本文主要介紹一些關(guān)于json數(shù)據(jù)類型的查詢操作,具有一定的參考價(jià)值,感興趣的可以了解一下

mysql在5.7版本之后就開始支持json數(shù)據(jù)類型,并且mysql8.0版本對(duì)json的處理已經(jīng)做的非常完善了。json數(shù)據(jù)類型的優(yōu)點(diǎn)缺點(diǎn)可自己查詢,本文主要介紹一些關(guān)于json數(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;

根據(jù)JSON對(duì)象屬性值為數(shù)組的數(shù)組長(zhǎng)度查詢

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

#獲取addresss里面tags數(shù)組長(zhǎng)度為2的數(shù)據(jù)
select * from users where json_length(address, '$.tags') = 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)于Mysql中json類型數(shù)據(jù)查詢的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Mysql json類型數(shù)據(jù)查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論