最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL數(shù)據(jù)庫(kù)函數(shù)之JSON_EXTRACT示例代碼

 更新時(shí)間:2025年02月12日 09:28:59   作者:白蘿卜弟弟  
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)函數(shù)之JSON_EXTRACT的相關(guān)資料,JSON_EXTRACT()函數(shù)用于從JSON文檔中提取值,支持對(duì)象屬性、數(shù)組元素和嵌套結(jié)構(gòu)的訪問(wèn),示例展示了如何提取簡(jiǎn)單值、嵌套值和數(shù)組中的值,需要的朋友可以參考下

前言

在 MySQL 中,JSON_EXTRACT() 函數(shù)用于從 JSON 文檔中提取一個(gè)或多個(gè)值。這個(gè)函數(shù)非常有用,特別是在處理存儲(chǔ)在 JSON 格式中的復(fù)雜數(shù)據(jù)時(shí)。下面是一些關(guān)于如何使用 JSON_EXTRACT() 的詳細(xì)說(shuō)明和示例。

基本語(yǔ)法

JSON_EXTRACT(json_doc, path [, path] ...)
  • json_doc: 要從中提取值的 JSON 文檔。
  • path: 一個(gè)或多個(gè)路徑表達(dá)式,用于指定要提取的值的位置。路徑表達(dá)式以 $ 開頭,表示 JSON 文檔的根。

路徑表達(dá)式

路徑表達(dá)式使用類似于 JavaScript 的對(duì)象和數(shù)組訪問(wèn)語(yǔ)法:

  • 對(duì)象屬性:使用點(diǎn) . 訪問(wèn),例如 $.name
  • 數(shù)組元素:使用方括號(hào) [] 訪問(wèn),例如 $[0]。
  • 嵌套結(jié)構(gòu):可以組合使用點(diǎn)和方括號(hào),例如 $.address.street 或 $.items[0].name。

示例

示例 1: 提取簡(jiǎn)單值

假設(shè)有一個(gè)表 users,其中有一個(gè)字段 data 存儲(chǔ)了用戶的 JSON 數(shù)據(jù):

CREATE TABLE users (
    id INT PRIMARY KEY,
    data JSON
);

INSERT INTO users (id, data) VALUES
(1, '{"name": "Alice", "age": 30, "city": "New York"}'),
(2, '{"name": "Bob", "age": 25, "city": "Los Angeles"}');

我們可以使用 JSON_EXTRACT() 提取每個(gè)用戶的名字:

SELECT id, JSON_EXTRACT(data, '$.name') AS name
FROM users;

輸出結(jié)果:

+----+--------+
| id | name   |
+----+--------+
| 1  | "Alice"|
| 2  | "Bob"  |
+----+--------+

示例 2: 提取嵌套值

假設(shè) JSON 數(shù)據(jù)中包含嵌套的對(duì)象:

INSERT INTO users (id, data) VALUES
(3, '{"name": "Charlie", "age": 35, "address": {"street": "123 Main St", "city": "Chicago"}}');

我們可以提取嵌套的街道地址:

SELECT id, JSON_EXTRACT(data, '$.address.street') AS street
FROM users;

輸出結(jié)果:

+----+-----------------+
| id | street          |
+----+-----------------+
| 1  | NULL            |
| 2  | NULL            |
| 3  | "123 Main St"   |
+----+-----------------+

示例 3: 提取數(shù)組中的值

假設(shè) JSON 數(shù)據(jù)中包含一個(gè)數(shù)組:

INSERT INTO users (id, data) VALUES
(4, '{"name": "David", "age": 40, "hobbies": ["reading", "traveling", "cooking"]}');

我們可以提取數(shù)組中的第一個(gè)愛好:

SELECT id, JSON_EXTRACT(data, '$.hobbies[0]') AS hobby
FROM users;

輸出結(jié)果:

+----+----------+
| id | hobby    |
+----+----------+
| 1  | NULL     |
| 2  | NULL     |
| 3  | NULL     |
| 4  | "reading"|
+----+----------+

注意事項(xiàng)

  • JSON_EXTRACT() 返回的結(jié)果是一個(gè) JSON 值,即使它是標(biāo)量值(如字符串或數(shù)字)。如果需要將結(jié)果轉(zhuǎn)換為標(biāo)量類型,可以使用 CAST 函數(shù)。例如:

    SELECT id, CAST(JSON_EXTRACT(data, '$.name') AS CHAR) AS name
    FROM users;
    
  • 如果路徑表達(dá)式指向的值不存在,JSON_EXTRACT() 將返回 NULL

  • 路徑表達(dá)式中的索引是從 0 開始的。

總結(jié) 

到此這篇關(guān)于MySQL數(shù)據(jù)庫(kù)函數(shù)之JSON_EXTRACT的文章就介紹到這了,更多相關(guān)MySQL函數(shù)JSON_EXTRACT內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL數(shù)據(jù)庫(kù)基礎(chǔ)入門之常用命令小結(jié)

    MySQL數(shù)據(jù)庫(kù)基礎(chǔ)入門之常用命令小結(jié)

    這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)基礎(chǔ)入門之常用命令,結(jié)合實(shí)例形式分析了MySQL數(shù)據(jù)庫(kù)管理、備份、日志常用操作命令與使用注意事項(xiàng),需要的朋友可以參考下
    2020-05-05
  • ubuntu20安裝配置mysql8.0.23步驟詳解

    ubuntu20安裝配置mysql8.0.23步驟詳解

    這篇文章主要為大家介紹了ubuntu20安裝配置mysql8.0.23步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • mysql8.0 JSON_CONTAINS的使用說(shuō)明

    mysql8.0 JSON_CONTAINS的使用說(shuō)明

    這篇文章主要介紹了mysql8.0 JSON_CONTAINS的使用說(shuō)明,具有很好的參考價(jià)值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • pymysql.err.DataError:(1264, ")異常的有效解決方法(最新推薦)

    pymysql.err.DataError:(1264, ")異常的有效解決方法(最新推薦)

    遇到pymysql.err.DataError錯(cuò)誤時(shí),錯(cuò)誤代碼1264通常指的是MySQL數(shù)據(jù)庫(kù)中的Out of range value for column錯(cuò)誤,這意味著你嘗試插入或更新的數(shù)據(jù)超過(guò)了對(duì)應(yīng)數(shù)據(jù)庫(kù)列所允許的范圍,這篇文章主要介紹了pymysql.err.DataError:(1264, ")異常的有效問(wèn)題,需要的朋友可以參考下
    2024-05-05
  • MySQL 數(shù)據(jù)庫(kù)的監(jiān)控方式小結(jié)

    MySQL 數(shù)據(jù)庫(kù)的監(jiān)控方式小結(jié)

    本文主要介紹了MySQL 數(shù)據(jù)庫(kù)的監(jiān)控方式小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • 從入門到精通MySQL聯(lián)合查詢

    從入門到精通MySQL聯(lián)合查詢

    這篇文章主要介紹了從入門到精通MySQL聯(lián)合查詢,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2025-07-07
  • Mysql大表修改字段兩種解決方式

    Mysql大表修改字段兩種解決方式

    這篇文章主要給大家介紹了關(guān)于Mysql大表修改字段的兩種解決方式,文中介紹了在處理平臺(tái)幣訂單表字段類型修改時(shí)遇到的問(wèn)題及解決方案,需要的朋友可以參考下
    2024-11-11
  • mysql數(shù)據(jù)庫(kù)應(yīng)付大流量網(wǎng)站的的3種架構(gòu)擴(kuò)展方式介紹

    mysql數(shù)據(jù)庫(kù)應(yīng)付大流量網(wǎng)站的的3種架構(gòu)擴(kuò)展方式介紹

    這篇文章主要介紹了mysql數(shù)據(jù)庫(kù)應(yīng)付大流量網(wǎng)站的的3種架構(gòu)擴(kuò)展方式介紹,它們分別是讀寫分離、垂直分區(qū)、水平分區(qū),本文分別對(duì)它們做了講解,需要的朋友可以參考下
    2014-07-07
  • MySQL導(dǎo)入sql文件的三種方法小結(jié)

    MySQL導(dǎo)入sql文件的三種方法小結(jié)

    本文主要介紹了MySQL導(dǎo)入sql文件的三種方法小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • windows系統(tǒng)mysql壓縮包版本安裝過(guò)程

    windows系統(tǒng)mysql壓縮包版本安裝過(guò)程

    這篇文章主要介紹了windows系統(tǒng)mysql壓縮包版本安裝過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03

最新評(píng)論

临清市| 前郭尔| 吕梁市| 鹿泉市| 台东市| 镇江市| 桐城市| 华安县| 贵州省| 衡阳市| 屯昌县| 南岸区| 武穴市| 宁海县| 平谷区| 屏东市| 安图县| 永和县| 改则县| 马龙县| 邮箱| 纳雍县| 山西省| 福安市| 易门县| 城市| 元谋县| 社旗县| 台南市| 铜山县| 理塘县| 同江市| 永嘉县| 新竹县| 东光县| 曲阜市| 溆浦县| 平凉市| 乐业县| 闽侯县| 调兵山市|