【MySQL】对JSON数据进行查询

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数据类型是没有默认值的。

示例

1、首先我们看到数据表中,Form_Value_一列是josn格式存在的,又想通过其中的一组或者几组键值对来进行查询。 2、通过以下语句就可以通过key,value来进行查询了,如果多个条件,正常加 and 就可以了。

SELECT * FROM core_process where Form_Value_ -> $.attendancer = 马立新

3、如果是Mybatis框架,要把 > 符号转义,像这样用 <![CDATA[ ]]>

<![CDATA[   Form_Value_ -> $.endDate < #{endDate,jdbcType=VARCHAR}    ]]>
经验分享 程序员 微信小程序 职场和发展