Mysql中json类型数据查询

本文介绍了在MySQL数据库中处理JSON字段的查询方法,包括使用JSON_EXTRACT进行精确和模糊查询,JSON_CONTAINS进行对象属性值的匹配,以及如何对JSON数组进行查询。这些技巧对于处理包含复杂数据结构的数据库记录非常实用。
摘要由CSDN通过智能技术生成

在实际开发中用到,在这里浅谈一下。

 1. 新建一张表

如下图,随意新建一张表,其中一个字段类型设置为json就行了

 2. 不同JSON下查询

2.1 json_object查询

以下写的是精确查询,只需要把其中的 = 换成 like再在内容中加上%就可以模糊查询了

在表中添加信息

  •  JSON_EXTRACT查询

 查询的方式是 select * from my_user where JSON_EXTRACT(字段名,'$.属性名') = '内容'

 

 json_object中多个属性值进行查询,写多个JSON_EXTRACT连接就好了

  •  简单写法

JSON_EXTRACT的简单写法

  •  JSON_CONTAINS查询

JSON_OBJECT就是将里面的参数组成对象形式

SELECT * FROM `my_user` WHERE JSON_CONTAINS(字段名,  JSON_OBJECT('属性名', '内容'))

 多个属性值查询

 2.2 json_arry查询

表中添加数据

  •  JSON_CONTAINS查询

json数组所有对象中,只要有一个对象满足条件

 json数组所有对象,只要有对象分别满足其中的筛选条件就会被查询到

  •  模糊查询

其中的$[*] 代表筛选所有的数组对象,只要所有对象中有一个name模糊查询符合就得到结果。

$[0]写成数字就表示数组中下标为0的对象name进行模糊查询匹配 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值