【2021/12/19】MySQL的json查詢之json_insert、json_merge_patch、json_merge_preserve、json_remove、json_replace、json_set
阿新 • • 發佈:2021-12-20
MySQL的json查詢之json_insert、json_merge_patch、json_merge_preserve、josn_remove、json_replace、json_set
- json_insert就是向json中插入,如果不存在則插入,存在則忽略
- json_replace就是替換json中的項,如果不存在則忽略,存在則替換
- json_set結合前面倆個,存在則替換,不存在則插入
- json_merge_patch多個json進行合併,相同鍵名,後面的覆蓋前面的,如果值是物件,則遞迴進行處理
- json_merge_preserve多個json進行合併,相同鍵名,則鍵值組成新的物件
- 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中指定項
留言
點選留言