1、使用 字段 -> ‘$.json’ 属性’ 进行查询条件
以下这两种会快很多,可以自己测试
2、使用 json_extract 函数查询,json_extract(字段, “$.json属性”)
3、根据json数组查询,用 JSON_CONTAINS (字段, JSON_OBJECT(‘json属性’, “内容”))

MySQL5.7以上支持JSON的操作,以及增加了JSON存储类型
般数据库存储JSON类型的数据会用JSON类型或者TEXT类型
注意:用JSON类型的话1)JSON列存储的必须是JSON格式数据,否则会报错。2)JSON数据类型是没有默认值的。
1、首先我们看到数据表中,Form_Value_一列是josn格式存在的,又想通过其中的一组或者几组键值对来进行查询。

2、通过以下语句就可以通过key,value来进行查询了,如果多个条件,正常加 and 就可以了。
**注意:**like 查询varchar类型时要将单箭头变为双箭头直接匹配值模糊查询 ->>
SELECT * FROM vx_live_room where info ->> 'name' like '%测试%'

SELECT * FROM core_process where Form_Value_ -> '$.attendancer' = '马立新'
3、如果是Mybatis框架,要把 > 符号转义,像这样用 <![CDATA[ ]]>
<![CDATA[ Form_Value_ -> '$.endDate' < #{endDate,jdbcType=VARCHAR} ]]>查询jaon串,返回json串里的某个字段

2.结果字段为json串

3.取json串中某个key的value值

4.->和->>区别,如图
-> 结果值带双引号"值"

->> 结果值不带引号

null依旧是null,不管符号是->还是->>
到此这篇关于MySQL对JSON数据进行查询的文章就介绍到这了,更多相关MySQL对JSON数据查询内容请搜索一聚教程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持一聚教程网!
不想手写重复代码?用 Apifox 一键生成多语言 SDK 和类型定义
如何把接口测试塞进 CI CD 流水线?用 Apifox CLI 自动跑测试
既有 HTTP 又有 Dubbo 和 gRPC?中移互联网如何一套工具搞定多协议
测试步骤多被限频了?用私有化 Runner 跑大规模并发测试
接口文档写得太乱?如何用 Apifox 自动检测 API 规范
小米路由器增强版怎么设置网速(小米路由器增强版网速设置方法)