当前位置: 首页 > news >正文

MySQL修改JSON格式数据示例

最近发现有个数据是用JSON格式直接存到表格里面的,大概就是下面这样的

在这里插入图片描述

然后需要修改里面某个属性的值,一开始我想的是 REPLACE 替换

UPDATE test_1 SET content = REPLACE(content, '{"age": 15, "name": "w5"}', '{"age": 20, "name": "20"}')

可以发现也能实现

在这里插入图片描述
但总觉得不大对劲,所以去搜了一下,发现两个以前没用过的方法 JSON_REPLACE 和 JSON_SET

我们先来试一下 JSON_REPLACE

UPDATE test_1 SET content = JSON_REPLACE(content, '$.name', "w5") WHERE id = 3

在这里插入图片描述

再来试下 JSON_SET

UPDATE test_1 SET content = JSON_SET(content, '$.age', 15) WHERE id = 3

在这里插入图片描述

发现这三个都能实现我们的目的,那这三个有什么区别

特性REPLACEJSON_SETJSON_REPLACE
作用对象字符串中的子字符串JSON 数据中的键值对JSON 数据中的已存在键值对
是否考虑 JSON 结构不考虑,简单的字符替换处理 JSON 数据,修改或新增键值对处理 JSON 数据,仅替换已存在的键值对
新增键值对不支持支持,如果路径不存在会新增不支持,路径不存在时不做任何操作
修改现有键值对不适用于 JSON 键值对的修改支持,修改路径存在的键值对支持,只修改路径存在的键值对
适用场景字符串替换,适合非结构化数据修改 JSON 数据或新增键值对只需要替换 JSON 中已存在的键值对时使用
是否破坏数据结构可能会破坏 JSON 结构不会破坏 JSON 结构不会破坏 JSON 结构,确保数据一致性

相关文章:

  • 中文Build a Large Language Model (From Scratch) 免费获取全文
  • C++之虚函数、虚函数表
  • C 数据类型转换那些事
  • 力扣hot100 ——搜索二维矩阵 || m+n复杂度优化解法
  • 前端js题目大全
  • 计算机视觉算法实战——表面缺陷检测(主页有源码)
  • UE引擎游戏加固方案解析
  • 一文了解PLM项目管理系统
  • 51单片机-定时器中断
  • 「正版软件」PDF Reader - 专业 PDF 编辑阅读工具软件
  • SpringBoot+Vue3-学习笔记
  • java泛型
  • 交通物联网:概念、历史、现状与展望
  • Redis 字符串(String)
  • 【分布式理论11】分布式协同之分布式事务(一个应用操作多个资源):从刚性事务到柔性事务的演进
  • Vue 监听属性(watch)
  • MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part 2
  • 嵌入式工业级显示器在环保垃圾柜设备中发挥着至关重要的作用
  • Linux 实操篇 组管理和权限管理、定时任务调度、Linux磁盘分区和挂载
  • Linux-C/C++《C/9、信号:基础》(基本概念、信号分类、信号传递等)
  • 乌鲁木齐房产集团网站建设/百度售后服务电话
  • html 创意网站/李守洪
  • wordpress改cms/网站seo标题优化技巧
  • cf辅助如何做代理拿网站/百度引擎提交入口
  • 邯郸移动网站建设公司/seo研究
  • 切片工具做网站怎么做/百度云客服人工电话