关于mysql:MySQL的json查询之json插入合并

3次阅读

共计 1048 个字符,预计需要花费 3 分钟才能阅读完成。

MySQL 的 json 查问之 json_insert、json_merge_patch、json_merge_preserve、josn_remove、json_replace、json_set

  1. json_insert 就是向 json 中插入,如果不存在则插入,存在则疏忽
  2. json_replace 就是替换 json 中的项,如果不存在则疏忽,存在则替换
  3. json_set 联合后面俩个,存在则替换,不存在则插入
  4. json_merge_patch 多个 json 进行合并,雷同键名,前面的笼罩后面的,如果值是对象,则递归进行解决
  5. json_merge_preserve 多个 json 进行合并,雷同键名,则键值组成新的对象
  6. json_remove 移除掉 json 某一项

数据表

json_insert

例一

select json_insert(info, '$.age', 26) from member;

json 中并不存在 age 键名,则插入

例二

select json_insert(info, '$.name', 'swk') from member;

json 中存在 name 键名,则疏忽

json_replace

例一

select json_replace(info, '$.name', 'swk') from member;

json 中存在 name 键名,则进行替换

例二

select json_replace(info, '$.age', 26) from member;

json 中不存在 age 键名,则疏忽

json_set

例一

select json_set(info, '$.name', 'swk') from member;

json 中存在 name 键名,则进行替换

例二

select json_set(info, '$.age', 26) from member;

json 中不存在 age 键名,则插入

json_merge_patch

例一

select json_merge_patch(info, '{"name":"swk","age":26}') from member;

json 合并,如果存在雷同键名,则前面的笼罩后面的,如果值是对象,会递归

json_merge_preserve

select json_merge_preserve(info, '{"name":"swk","age":26}') from member;

json 合并,如果存在雷同键名,则组成新的对象

json_remove

例一

select json_remove(info, '$.name') from member;

移除 json 中指定项

留言

点击留言

正文完
 0