中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySql中怎么使用json_extract函數處理json字段

發布時間:2022-06-06 10:28:43 來源:億速云 閱讀:1012 作者:zzz 欄目:開發技術

這篇“MySql中怎么使用json_extract函數處理json字段”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“MySql中怎么使用json_extract函數處理json字段”文章吧。

1. 使用方式

數據存儲的數據是json字符串,類型為我們常用的varchar即可

語法:

JSON_EXTRACT(json_doc, path[, path] …)

若json字符串非數組時,可以通過$.字段名來表示查詢對應的value

2. 使用演示

創建一個測試的表:

CREATE TABLE `json_table` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵id',
  `val` json DEFAULT NULL COMMENT 'json字符串',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

插入幾條數據:

insert into `json_table` values (1, '{"name": "一灰灰blog", "age": 18}');
insert into `json_table` values (2, '{"name": "一灰灰blog", "site": "https://blog.hhui.top"}');

查詢json串中的name如下:

mysql> select json_extract(`val`, '$.name') from `json_table`;
+-------------------------------+
| json_extract(`val`, '$.name') |
+-------------------------------+
| "一灰灰blog"                  |
| "一灰灰blog"                  |
+-------------------------------+

如果查詢的key不在json串中,返回的是null,而不是拋異常

mysql> select json_extract(`val`, '$.name') as `name`, json_extract(`val`, '$.site') as `site` from `json_table`;
+-----------------+-------------------------+
| name            | site                    |
+-----------------+-------------------------+
| "一灰灰blog"    | NULL                    |
| "一灰灰blog"    | "https://blog.hhui.top" |
+-----------------+-------------------------+

接下來再看一下如果為json數組,怎么整

mysql> insert into `json_table` values (3, '[{"name": "一灰灰", "site": "https://spring.hhui.top"}]');
mysql> select json_extract(`val`, '$[0].name') from `json_table` where id = 3;
+----------------------------------+
| json_extract(`val`, '$[0].name') |
+----------------------------------+
| "一灰灰"                         |
+----------------------------------+

除了在查詢結果中使用json_extract之外,也可以在查詢條件中使用它

mysql> select * from `json_table` where json_extract(`val`, '$.name') = '一灰灰blog';
+----+------------------------------------------------------------+
| id | val                                                        |
+----+------------------------------------------------------------+
|  1 | {"age": 18, "name": "一灰灰blog"}                          |
|  2 | {"name": "一灰灰blog", "site": "https://blog.hhui.top"}    |
+----+------------------------------------------------------------+

以上就是關于“MySql中怎么使用json_extract函數處理json字段”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

襄汾县| 新营市| 武功县| 龙江县| 伊春市| 刚察县| 电白县| 武川县| 济阳县| 南投市| 新干县| 黔西| 平原县| 称多县| 泗水县| 云南省| 穆棱市| 修武县| 普宁市| 康马县| 巴马| 民和| 合肥市| 桐城市| 通化县| 乌兰浩特市| 汝阳县| 阳新县| 凌源市| 河北省| 红河县| 崇阳县| 哈尔滨市| 萨迦县| 巴东县| 方山县| 墨竹工卡县| 宜宾市| 龙井市| 东丽区| 永修县|