【2021/12/19】MySQL的json查詢之json_insert、json_merge_patch、json_merge_preserve、json_remove、json_replace、json_set


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某一項

數據表

member

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中指定項

留言

點擊留言


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM