mysql中json的使用方式詳解
mysql字段的數(shù)據(jù)類型支持json格式,可以直接存儲json數(shù)組和json對象。
一、插入json數(shù)據(jù)的方式有兩種
1、以普通字符串形式插入,需要遵循 json 格式
2、用 內(nèi)置函數(shù)(JSON_OBJECT和JSON_ARRAY)創(chuàng)建JSON數(shù)據(jù)再插入
二、查詢 JSON 中字段的數(shù)據(jù)
1、column -> 'path' 和 JSON_EXTRACT(column, 'path')形式訪問指定字段的具體數(shù)據(jù)。(*注意path外面都要用單引號包起來)
其中 column 表示要查詢的數(shù)據(jù)字段列名;
path 為 JSON 數(shù)據(jù)的訪問路徑,path格式為 $.path 或 $[idx]。
$.path 用于 JSON對象類型數(shù)據(jù);
$[idx] 用于 JSON數(shù)組類型數(shù)據(jù);
$ 代表整個 JSON 數(shù)據(jù)的 root 節(jié)點;
path 為訪問字段 key,如果字段名包含空格,則需要用雙引號包住,如 $."nick name";(*注意中文字段名也需要雙引號包?。?br />[idx] 是數(shù)組的索引。
2、-> 和JSON_EXTRACT查詢到的字段字符串類型還會有個雙引號,還需要做一層處理,可以使用 ->>和JSON_UNQUOTE 去除,且轉(zhuǎn)義符也會去除。
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數(shù)組所有key,返回數(shù)組
三、JSON字段的條件搜索
1、精確查詢json類型字段
where column-> '$.key' = value
2、模糊查詢JsonArray類型字段
where column->'$[*].key' like '%value%'
3、精確查詢JsonArray類型字段
where JSON_CONTAINS(column,JSON_OBJECT('key', "value"))
4、多層級關(guān)系,模糊查詢所有的
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] ...) 插入新字段,不會改變已經(jīng)存在的
3、刪除字段
JSON_REMOVE(column, path[, path] ...) 刪除字段
到此這篇關(guān)于mysql中json的使用的文章就介紹到這了,更多相關(guān)mysql中json使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql一鍵安裝教程 mysql5.1.45全自動安裝(編譯安裝)
這篇文章主要介紹了mysql一鍵安裝教程,一鍵安裝MySQL5.1.45,全自動安裝MySQL SHELL程序,實現(xiàn)編譯安裝,感興趣的2016-06-06
數(shù)據(jù)庫面試必備之MySQL中的樂觀鎖與悲觀鎖
這篇文章主要介紹了數(shù)據(jù)庫面試必備之MySQL中樂觀鎖與悲觀鎖的相關(guān)資料,樂觀鎖適用于讀多寫少的場景,通過版本號檢查避免沖突,而悲觀鎖適用于寫多讀少且對數(shù)據(jù)一致性要求極高的場景,通過加鎖確保數(shù)據(jù)一致,需要的朋友可以參考下2025-04-04
PHP定時備份MySQL與mysqldump語法參數(shù)詳解
本文為大家介紹了PHP利用mysqldump命令定時備份MySQL與mysqldump語法參數(shù)大全以及定時備份的PHP實例代碼2018-10-10
MySQL5.7 group by新特性報錯1055的解決辦法
項目中本來使用的是mysql5.6進行開發(fā),切換到5.7之后,突然發(fā)現(xiàn)原來的一些sql運行都報錯,錯誤編碼1055,錯誤信息和sql_mode中的“only_full_group_by“有關(guān)。下面小編給大家分享下解決辦法2016-12-12
自用mysql自帶命令實現(xiàn)數(shù)據(jù)庫備份還原的方法
本文章介紹了都是mysql常用的命令一些數(shù)據(jù)導(dǎo)入導(dǎo)出的命令了,只要我們撐握這些命令就可以方法快速的給我們的數(shù)據(jù)庫進行備份還原了2012-04-04
mysql百萬數(shù)據(jù)表加索引優(yōu)化的方法
在大數(shù)據(jù)時代,隨著數(shù)據(jù)量的快速增長,對數(shù)據(jù)庫的索引優(yōu)化變得尤為重要,本文主要介紹了mysql百萬數(shù)據(jù)表加索引優(yōu)化的方法,感興趣的可以了解一下2024-02-02

