mysql中json怎麼使用

PHPz
發布: 2023-05-30 09:46:05
轉載
2450 人瀏覽過

mysql欄位的資料類型支援json格式,可以直接儲存json數組和json物件。

一、插入json資料的方式有兩種

1、以普通字串形式插入,需要遵循json 格式

2、用內建函數(JSON_OBJECT和JSON_ARRAY )建立JSON資料再插入

二、查詢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,返回數組

三、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、多層關係,模糊查詢所有的

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怎麼使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板