MYSQL——json的操作函数学习

In MySQL, 有一些函数可以帮我们处理JSON类型包括: JSON_SET()JSON_INSERT(), and JSON_REPLACE()函数.



语法

三种函数的语法:

JSON_SET(json_doc, path, val[, path, val] ...)
JSON_INSERT(json_doc, path, val[, path, val] ...)
JSON_REPLACE(json_doc, path, val[, path, val] ...)

参数的含义:

  • json_doc 是JSON字符串
  • path 是要插入数据或更新值的元素的路径。
  • val 是新的值.



The Difference

基本上他们的区别就是对已经存在的值怎么办,对缺少的值怎么办?( JSON_SET()两个功能都有).



Example 1 – Insert a Value

接下来以JSON_SET作为一个例子



JSON_SET()

1.更新部分字段   "ui:options"

UPDATE s_template
SET config = JSON_SET (
        config,
        '$.propsSchema.properties.summary."ui:options"',
        cast(
                '{
                    "row": "5",
                    "placeholder":"拜访小结不可低于50字..."
                }' AS json
            )
    )
WHERE
        u_id = 'yaan-rw-001';
 

2.更新部分字段,新增字段   "ui:widget": "TextareaWidget",

UPDATE s_template
SET config = JSON_SET (
        config,
        '$.propsSchema.properties.summary',
        cast('{
        "type": "string",
        "title": "拜访小结",
        "ui:widget": "TextareaWidget",
        "default": "",
        "minLength": 50,
        "sortIndex": 11,
        "ui:hidden": "{{formData.flowType === ''plan'	'}}",
        "ui:options": { "row": 5 ,"placeholder": "拜访小结不可低于50字..."},
        "description": "50字以上",
        "ui:labelWidth": 130
      }' AS json
        )
)
WHERE
        u_id = 'yaan-rw-001';

注意转义单引号和双引号问题

结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值