MySQL的Json类型个人用法详解

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

前言

虽然MySQL很早就添加了Json类型,但是在业务开发过程中还是很少设计带这种类型的表。少不代表没有,当真正要对Json类型进行特定查询,修改,插入和优化等操作时,却感觉一下子想不起那些函数怎么使用。比如把json里的某个键和值作为SQL条件,修改某个键下的子键的值,其中可能会遇到数组形式的Json或者键名是字符串的数字修改异常等问题。那么,以下是小北在业务中常遇到的Json类型操作汇总了。

查询

1. 查询普通键

以下示例是从goods表的price字段里取出price键的值,可以依次往下取值,就是price.嵌套键名即可。

select json_extract(price, "$.price") as de from goods where id = 159540

2. 查询字符串类型的数字键

虽然以上能解决大部分取值,但有时候的json嵌套里有字符串类型的数字键名,如下图的json,要取出字段下sku键名的 "45453"键algorithm的值。

MySQL的Json类型个人用法详解,mysql,json,数据库

select json_extract(price, "$.sku.\"45453\".algorithm") as de from price where id = 159540

3. 查询数组类的Json指定值

以上的两种是我们常见的对象类,但当出现数组类时,就没有键名了,取值只需要指定索引即可,如下分别是查询某值和根据json的某值作为查询条件。

select JSON_EXTRACT(`crumbs`, $[1]) as one_crumbs from comment where id = 4565
select * from comment where JSON_EXTRACT(`crumbs` ,'$[1]') = 256

4. 查询Json里是否包含某个值

select * from goods_item where goods_id=10263 and JSON_CONTAINS(item_value->'$', concat(43318,''));
select * from goods_item where goods_id=10263 and JSON_CONTAINS(item_value, concat(43318,''));
select * from goods_item where goods_id=10263 and JSON_CONTAINS(item_value, concat(43318,''),'$');

5. 查询Json长度

以下的goods_img是一个数组类的Json字段,通过长度作为SQL的查询条件。

select id, stock_no, goods_img from goods_item where state = 1 and JSON_LENGTH(goods_img) < 3

更新

1. 修改Json字段下指定键的值文章来源地址https://www.toymoban.com/news/detail-695821.html

update price set price = json_set(price, "$.attr.\"1280\".price_old", 300) where id in (171314)

到了这里,关于MySQL的Json类型个人用法详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • MYSQL中JSON类型介绍

    在mysql未支持json数据类型时,我们通常使用varchar、blob或text的数据类型存储json字符串,对mysql来说,用户插入的数据只是序列化后的一个普通的字符串,不会对JSON文档本身的语法合法性做检查,文档的合法性需要用户自己保证。在使用时需要先将整个json对象从数据库读取出

    2024年02月15日
    浏览(31)
  • Mysql中json类型查询

    MySQL提供了一些函数和操作符,用于在JSON数据类型中进行查询。下面是一些常用的MySQL JSON查询使用方法: 这里的key是JSON字段中的键名。 使用JSON_CONTAINS函数可以过滤JSON数组中包含特定值的记录。例如,假设有一个名为data的JSON字段,其中包含一个名为tags的数组,可以使用以

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

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

    2024年02月01日
    浏览(31)
  • mysql 5.7 json 类型 json 数组类型 普通字符串类型 10w数据 查询速度差异

    建表语句ddl 10w 数据 插入 存储过程  json 类型 vs 普通字符串类型 建表语句ddl CREATE TABLE tb_json_array_test ( id INT NOT NULL AUTO_INCREMENT, user_no VARCHAR(100), user_name VARCHAR(100), score INT, create_time date, update_time date, remark VARCHAR(100), field1 VARCHAR(100), field2 VARCHAR(100), field3 VARCHAR(100), field4 VARCHAR(

    2024年02月04日
    浏览(48)
  • Mysql中json类型数据查询

            mysql在5.7版本之后就开始支持json数据类型,并且mysql8.0版本对json的处理已经做的非常完善了。json数据类型的优点缺点可自己查询,本文主要介绍一些关于json数据类型的查询操作。 下面用这个表来执行查询演示: 插入几条数据 查询json对象指定属性值的数据 1、函数

    2024年02月13日
    浏览(47)
  • mysql存储json类型方法和利弊

    利弊 一、json类型的特性 1、保证了JSON数据类型的强校验,JSON数据列会自动校验存入此列的内容是否符合JSON格式,非正常格式则报错,而varchar类型和text等类型本身是不存在这种机制的。 2、MySQL同时提供了一组操作JSON类型数据的内置函数。 3、更优化的存储格式,存储在JS

    2024年02月05日
    浏览(33)
  • mysql 字段类型为json,后端用list接收

    board` json DEFAULT NULL COMMENT \\\'信息,格式[{\\\"name\\\":\\\"net\\\",\\\"chip\\\":\\\"esp32\\\",\\\"hdVer\\\":1}]\\\' resultMap id=\\\"productDeviceAndBrand\\\" type=\\\"com.charg.product.domain.vo.ProductDeviceOperationsVo\\\" result property=\\\"brandId\\\" column=\\\"brand_id\\\"/ result property=\\\"brandName\\\" column=\\\"brand_name\\\"/ result property=\\\"productName\\\" column=\\\"product_name\\\"/ result property=\\\"productC

    2024年04月09日
    浏览(43)
  • Mybatis-Plus处理Mysql Json类型字段

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

    2024年02月03日
    浏览(51)
  • 解锁Mysql中的JSON数据类型,怎一个爽字了得

    在实际业务开发中,随着业务的变化,数据的复杂性和多样性不断增加。传统的关系型数据库模型在这种情况下会显得受限,因为它们需要预先定义严格的数据模式,并且通常只能存储具有相同结构的数据。而面对非结构化或半结构化数据的存储和处理需求,选择使用非关系

    2024年02月20日
    浏览(40)
  • MYSQL JSON函数详解和实战(JSON函数大全,内含示例)

    MySQL提供了许多JSON函数,用于对JSON数据进行各种处理。以下是一些常用的JSON函数。 建议收藏以备后续用到查阅参考 。 目录 一、JSON_EXTRACT 提取指定数据 二、JSON_UNQUOTE 取消双引号 三、JSON_KEYS 取成员的数组 四、JSON_ARRAY 将参数转为数组 五、JSON_OBJECT 参数转为对象 六、JSO

    2024年02月04日
    浏览(48)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包