当前位置: 首页 > wzjs >正文

濮阳建设网站网络销售推广公司

濮阳建设网站,网络销售推广公司,网站开发的技术难点,百度官网建设公司的一个电商系统,索引字段中,需要存储某个spu下挂的所有sku基本信息,数据库字段设计成json类型。为了平时查询数据方便,需要了解一些json相关的函数,网上找了各种资料,但没有一篇比较完整且经过验证的的…

公司的一个电商系统,索引字段中,需要存储某个spu下挂的所有sku基本信息,数据库字段设计成json类型。为了平时查询数据方便,需要了解一些json相关的函数,网上找了各种资料,但没有一篇比较完整且经过验证的的文章,所以熬夜整理了一份,现在分享给友友们。

mysql在5.7版本之后就开始支持json数据类型,并且mysql8.0版本对json的处理已经做的非常完善了。json数据类型的优点缺点可自己查询,本文主要介绍一些关于json数据类型的查询操作。

准备数据

准备DDL

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;

准备DML

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’ = “河北省”;

查询json数组指定下标值的数据

1、数组操作方式查询:字段->‘$[0]’

select * from users where address->‘$[0]’= “家”;

根据JSON对象里面的属性个数查询

1、函数查询:json_length(json字段)

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

根据JSON数组里面的数组长度查询

1、函数查询:json_length(json字段)

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

根据JSON对象属性值为数组的数组长度查询

1、函数查询:json_length(json字段, ‘$.json属性’)

#获取addresss里面tags数组长度为2的数据

select * from users where json_length(address, ‘$.tags’) = 2;

查询JSON对象属性值为数组的任意项存在指定值查询

1、函数查询:JSON_CONTAINS(json字段,JSON_OBJECT(‘json数组属性’, ‘内容’))

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

查询JSON数组里面对象属性任意项存在指定属性的数据

select * from users where address->‘$[*].city’ is not null;

查询JSON对象存在指定属性的数据

select * from users where address->‘$.tags’ is not null;

转载:msw;原文链接:https://blog.csdn.net/minshiwang/article/details/130769571

http://www.dtcms.com/wzjs/170075.html

相关文章:

  • 权大师的网站是哪个公司做的怎么下载需要会员的网站视频
  • 新浪云sae免费wordpress网站seo免费培训视频
  • 公司简介网站模板百度号码认证平台
  • Wordpress图墙主题seo网站外包公司
  • 这几年做哪些网站能致富网络营销有什么岗位
  • 山东平台网站建设价格营销软件
  • 如何制作一个动态的网站的登录详细步骤页面爱站工具包的模块有哪些
  • cookies因预料之外的输出被阻止 wordpress淄博网站制作优化
  • 建站国外平台企业百度推广
  • 手机微网站怎么做短视频seo排名加盟
  • 做网站如何网站考虑优化搜索量排名
  • goule wordpress太原seo优化
  • 有初中生做的网站吗厦门百度seo排名
  • 网站建设 报价单百度广告客服电话
  • 搬瓦工可以长期做网站百度软文推广怎么做
  • 仿牌做独立网站可靠吗网站推广的一般流程是
  • 网站设计流程是什么网站搭建一般要多少钱
  • 小程序推广任务aso优化公司
  • 互联网站安全自己如何制作网页
  • 怎么把百度到自己的网站百度一下百度搜索首页
  • 如何手机做网站网络媒体推广报价
  • 个人网站备案核验单网络营销策略包括
  • 阳谷网站建设公司合肥网络公司排名
  • 网站开发所需技术网络营销推广平台有哪些
  • 免费凡客建站官网青岛seo代理计费
  • 网页介绍模板seo快速排名软件案例
  • 遵义网站制作微博推广
  • 展示商品的网站怎么做外贸网站推广平台有哪些
  • 做网站卖什么东西好semir
  • 上海专业seo公司seo教学