MySQL根据JSON字段的内容检索查询数据

查询语句:

  • 使用 字段->'$.json属性' 进行查询条件
  • 使用 json_extract 函数查询,json_extract(字段, "$.json属性")
  • 根据json数组查询,用 JSON_CONTAINS(字段, JSON_OBJECT('json属性', "内容"))

 

MySQL5.7以上支持JSON的操作,以及增加了JSON存储类型,一般数据库存储JSON类型的数据会用JSON类型或者TEXT类型。

 

注意:用JSON类型的话

1、JSON列存储的必须是JSON格式数据,否则会报错。

2、JSON数据类型是没有默认值的。

 

使用示例:

MySQL根据JSON字段的内容检索查询数据

 

SQL查询语句:

SELECT * FROM test_event_list  where `subdata` -> '$.page_url' = 'https//www.test.com/123456.html';

select  *  from test_event_list where JSON_CONTAINS(`subdata`, JSON_OBJECT('page_url', "https//www.test.com/123456.html"));

select  *  from test_event_list   where json_extract(subdata,'$.page_url') = 'https//www.test.com/123456.html';

 

最终效果:

MySQL根据JSON字段的内容检索查询数据

 

友情提示:此方法在大批量数据下查询 缓慢,慎用!

    A+
发布日期:2021年01月20日 10:30:17  所属分类:MySQL
最后更新时间:2021-01-20 10:30:17
评分: (1 票;平均数5.00 ;最高评分 5 ;用户总数1;总得分 5;百分比100.00)
头像
wp dz 帝国 dede phpcms等快速建站服务
wp dz 帝国 dede phpcms等快速建站服务
  • ¥ 999元
  • 市场价:4999元
微信小程序前后端全栈开发 (Node.js+Express)
  • ¥ 39.0元
  • 市场价:39.0元
数据库基础篇:SQLServer+MySQL+HeidiSQL
  • ¥ 189.0元
  • 市场价:269.0元
Microsoft 全家桶 “激活码/产品密钥”永久
Microsoft 全家桶 “激活码/产品密钥”永久
  • ¥ 29.99元
  • 市场价:888元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: