MySQL对JSON数据进行查询

这篇具有很好参考价值的文章主要介绍了MySQL对JSON数据进行查询。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

  1. 使用 字段 -> ‘$.json’ 属性’ 进行查询条件

    以下这两种会快很多,可以自己测试

  2. 使用 json_extract 函数查询,json_extract(字段, “$.json属性”)

  3. 根据json数组查询,用 JSON_CONTAINS (字段, JSON_OBJECT(‘json属性’, “内容”))

mysql 查询json数据,mysql,json,mybatis

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

注意:用JSON类型的话
1)JSON列存储的必须是JSON格式数据,否则会报错。
2)JSON数据类型是没有默认值的。

举个栗子

1、首先我们看到数据表中,Form_Value_一列是josn格式存在的,又想通过其中的一组或者几组键值对来进行查询。
mysql 查询json数据,mysql,json,mybatis

2、通过以下语句就可以通过key,value来进行查询了,如果多个条件,正常加 and 就可以了。

**注意:**like 查询varchar类型时要将单箭头变为双箭头直接匹配值模糊查询 ->>

SELECT * FROM vx_live_room where info ->> 'name' like '%测试%'

mysql 查询json数据,mysql,json,mybatis

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

mysql 查询json数据,mysql,json,mybatis
3、如果是Mybatis框架,要把 > 符号转义,像这样用 <![CDATA[ ]]>

<![CDATA[   Form_Value_ -> '$.endDate' < #{endDate,jdbcType=VARCHAR}    ]]>

扩充:

查询jaon串,返回json串里的某个字段
mysql 查询json数据,mysql,json,mybatis

2.结果字段为json串

mysql 查询json数据,mysql,json,mybatis

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

mysql 查询json数据,mysql,json,mybatis

4.->和->>区别,如图

-> 结果值带双引号"值"

mysql 查询json数据,mysql,json,mybatis
->> 结果值不带引号

mysql 查询json数据,mysql,json,mybatis
null依旧是null,不管符号是->还是->>文章来源地址https://www.toymoban.com/news/detail-516112.html

到了这里,关于MySQL对JSON数据进行查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mybatis-Plus处理Mysql Json类型字段

    Mysql 5.7.8开始支持Json对象和Json数组,但在Mysql 8版本中使用Json性能更佳。 使用Json格式的好处: 无须预定义字段:字段可以无限拓展,避免了ALTER ADD COLUMN的操作,使用更加灵活。 处理稀疏字段:避免了稀疏字段的NULL值,避免冗余存储。 支持索引:相比于字符串格式的JSON,

    2024年02月03日
    浏览(52)
  • mysql 查询json报错 FUNCTION xxxx.JSON_EXTRACT does not exist

    这个语句的错误在于使用了错误的语法来查询JSON字段。正确的写法应该是: 这个语句使用了MySQL的JSON_EXTRACT函数来查询JSON字段中的mobile属性。 这个错误提示表明MySQL数据库中没有名为JSON EXTRACT的函数。这可能是因为你使用的MySQL版本较旧,不支持JSON EXTRACT函数。 解决方案是

    2024年02月10日
    浏览(51)
  • Springboot引入mybatis-plus及操作mysql的json字段

    springboot引入mybatis-plus,创建springboot项目省略 pom文件 配置文件 备注信息 springboot使用mybatis和mybatis-plus没有什么区别,需要注意的是配置文件跟配置名:mybatis-plus 使用mybatis-plus的有点在于,在mybatis的基础上记性了一系列的有效封装,节约了开发时间,有这方面兴趣额同学自行

    2024年02月06日
    浏览(52)
  • 【Java】Mybatis查询数据库返回JSON格式的字段映射到实体类属性

    今天遇到了一个bug,大概就是数据库(Mysql)中有一个 type 类型字段,数据类型为json,大概是这样的:[“苹果”,“香蕉”,“葡萄”]的数据格式,这个bug的问题所在呢就是查询后这个json格式的数据无法映射到我们实体类的属性上,解决方案如下: 实体类的配置: @TableField

    2024年02月15日
    浏览(47)
  • 【MySQL】MySQL 8 的 JSON 新特性详解(1)JSON 数据类型

    你好,我是小雨青年,一名使用MySQL 8 的程序员。 MySQL 8 引入了对 JSON 数据类型的全面支持,并提供了一组内置函数以有效处理 JSON 数据。MySQL 8 中的 JSON 支持的一些关键特性如下: JSON 数据类型:MySQL 8 拥有一个名为 JSON 的新数据类型,可用于在列中存储 JSON 数据。该数据类

    2024年02月02日
    浏览(43)
  • mysql处理json格式的字段,一文搞懂mysql解析json数据

    略。自行百度。 JSON 数据类型是 MySQL 5.7.8 开始支持的。在此之前,只能通过字符类型(CHAR,VARCHAR 或 TEXT )来保存 JSON 文档。 MySQL 8.0版本中增加了对JSON类型的索引支持。可以使用CREATE INDEX语句创建JSON类型的索引,提高JSON类型数据的查询效率。 存储JSON文档所需的空间与存储

    2024年02月07日
    浏览(53)
  • MySQL的JSON 数据类型

    MySQL提供了一个专门用于存储JSON数据的数据类型:JSON。JSON数据类型允许您在MySQL数据库中存储和操作JSON格式的数据。 要在表中创建一个JSON类型的列,您可以像这样定义: 要向表中插入JSON数据,您可以编写如下的INSERT语句: 要查询JSON数据,您可以使用各种JSON函数。以下是

    2024年02月01日
    浏览(34)
  • MySQL中使用JSON存储数据

    1.概述: MySQL从5.7版本开始引入了对JSON数据类型的原生支持。 这个增强功能使开发人员能够直接在数据库中存储、操作和查询JSON数据。 MySQL的JSON字段为存储半结构化数据提供了更加灵活和高效的方式。 相比传统的关系型数据库,使用JSON字段的优势包括: 灵活性:JSON字段可

    2024年02月09日
    浏览(32)
  • MySQL中JSON数据类型详解

    目录 概要及优点 JSON定义 JSON字段的增删改查操作 插入操作 查询操作 修改操作 删除操作 如何对JSON字段创建索引?  加索引查询结果分析:  不加索引查询结果分析: 使用JSON时的注意事项         JSON数据类型是MySQL5.7.8开始支持的。在此之前,只能通过字符类型(CHAR、V

    2024年02月06日
    浏览(79)
  • MYSQL中解析json格式数据

    注:requestbody为指定字段 注:requestbody为指定字段,body为json中的key

    2024年02月15日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包