Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > Mysql中json类型数据查询

Mysql中json类型数据查询问题

作者:请君择日再来

这篇文章主要介绍了Mysql中json类型数据查询问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

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

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进行模糊查询匹配

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文