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

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 结构,确保数据一致性

http://www.kler.cn/a/555148.html

相关文章:

  • Hackthebox- Season7- Titanic 简记 [Easy]
  • 【Golang】golang中 regexp.MustCompile与regexp.MatchString的区别
  • 使用 Python Pillow 库处理图片并通过 ESP8266 驱动墨水屏的入门探索
  • IDEA中aiXcoder、Bito和通义灵码三个插件的对比
  • 【含文档+PPT+源码】基于大数据的交通流量预测系统
  • 用C++ Qt实现安卓电池充电动效 | 打造工业级电量控件
  • c#爬取数据并解析json
  • 命令注入绕过
  • c# 2025/2/19 周三
  • 《95015网络安全应急响应分析报告(2024)》
  • Spring MVC中ViewControllerRegistry的使用与原理
  • springboot2.0整合logback日志(保姆级详细教程)
  • 鸿蒙next中如何使用hdc命令安装客户端包
  • 简单易懂,解析Go语言中的Channel管道
  • 【Java从入门到起飞】流程控制语句
  • 《跟李沐学 AI》AlexNet论文逐段精读学习心得 | PyTorch 深度学习实战
  • 【干货分享】Autosar CanIf 模块的应用干货笔记1
  • Python使用过程中哪些字符是非法的?
  • 【Linux】多线程 -> 线程同步与基于BlockingQueue的生产者消费者模型
  • 分割回文串力扣--131