您好,登錄后才能下訂單哦!
本篇內容介紹了“mysql中json怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
mysql字段的數據類型支持json格式,可以直接存儲json數組和json對象。
1、以普通字符串形式插入,需要遵循 json 格式
2、用 內置函數(JSON_OBJECT和JSON_ARRAY)創建JSON數據再插入
1、column -> 'path' 和 JSON_EXTRACT(column, 'path')形式訪問指定字段的具體數據。(*注意path外面都要用單引號包起來)
其中 column 表示要查詢的數據字段列名;
path 為 JSON 數據的訪問路徑,path格式為 $.path 或 $[idx]。
$.path 用于 JSON對象類型數據;
$[idx] 用于 JSON數組類型數據;
$ 代表整個 JSON 數據的 root 節點;
path 為訪問字段 key,如果字段名包含空格,則需要用雙引號包住,如 $."nick name";(*注意中文字段名也需要雙引號包住)
[idx] 是數組的索引。
2、->
和JSON_EXTRACT查詢到的字段字符串類型還會有個雙引號,還需要做一層處理,可以使用 ->>和JSON_UNQUOTE
去除,且轉義符也會去除。
JSON_UNQUOTE(JSON_EXTRACT(column, path)) 等價于 column->>path
3、多級查詢的方式有兩種:
① column -> '$.key.childKey' path點號連接子集字段的方式訪問
② JSON_EXTRACT(JSON_EXTRACT(column, path), path) JSON_EXTRACT嵌套的方式
③column->'$[*].key' 可以查詢json數組所有key,返回數組
1、精確查詢json類型字段
where column-> '$.key' = value
2、模糊查詢JsonArray類型字段
where column->'$[*].key' like '%value%'
3、精確查詢JsonArray類型字段
where JSON_CONTAINS(column,JSON_OBJECT('key', "value"))
4、多層級關系,模糊查詢所有的
where column->'$**.key' like '%value%'
四、JSON字段的更新操作 1、更新字段
JSON_SET(column, path, val[, path, val] ...) 更新或插入
JSON_REPLACE(column, path, val[, path, val] ...) 只更新
2、新增字段
JSON_INSERT(column, path, val[, path, val] ...) 插入新字段,不會改變已經存在的
3、刪除字段
JSON_REMOVE(column, path[, path] ...) 刪除字段
“mysql中json怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。