欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在MySQL中解析JSON或?qū)⒈碇凶侄沃岛喜镴SON問(wèn)題

 更新時(shí)間:2024年04月02日 14:27:19   作者:Hello 阿月  
這篇文章主要介紹了在MySQL中解析JSON或?qū)⒈碇凶侄沃岛喜镴SON問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

MySQL解析JSON或?qū)⒈碇凶侄沃岛喜镴SON

MySQL提供了一系列的JSON函數(shù)來(lái)處理JSON數(shù)據(jù),包括從JSON字符串中提取值和將表中字段值合并為JSON等。

在MySQL中解析JSON

可使用JSON_EXTRACT函數(shù)提取JSON字符串中指定字段的值,使用JSON_UNQUOTE函數(shù)去除提取的字符串值周?chē)囊?hào),以得到原始的非引號(hào)包裹的值。

舉個(gè)例子

假設(shè)你有一個(gè)包含JSON數(shù)據(jù)的表 my_table

CREATE TABLE my_table (
    id INT PRIMARY KEY,
    json_data JSON
);

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

使用JSON函數(shù)從json_data字段中提取數(shù)據(jù):

-- 提取name字段的值
SELECT id, JSON_UNQUOTE(JSON_EXTRACT(json_data, '$.name')) AS name
FROM my_table;

-- 提取age字段的值
SELECT id, JSON_EXTRACT(json_data, '$.age') AS age
FROM my_table;

-- 提取city字段的值
SELECT id, JSON_UNQUOTE(JSON_EXTRACT(json_data, '$.city')) AS city
FROM my_table;

如果MySQL版本較新(MySQL 8.0及以上),可使用->運(yùn)算符來(lái)進(jìn)行JSON字段的訪問(wèn):

-- 提取name字段的值
SELECT id, json_data->'$.name' AS name
FROM my_table;

-- 提取age字段的值
SELECT id, json_data->'$.age' AS age
FROM my_table;

-- 提取city字段的值
SELECT id, json_data->'$.city' AS city
FROM my_table;

上面例子展示了如何從JSON字符串中提取值的基本方法,在實(shí)際應(yīng)用中可按需結(jié)合其他JSON函數(shù)來(lái)執(zhí)行更復(fù)雜的操作。

將表中字段值合并為JSON

可使用JSON_OBJECT函數(shù)將查詢(xún)到的字段值合并為JSON字符串。

舉個(gè)例子

假設(shè)你有一個(gè)包含個(gè)人信息的表person

CREATE TABLE person (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    age INT,
    city VARCHAR(50)
);

INSERT INTO person (id, name, age, city) VALUES
(1, 'John', 25, 'New York'),
(2, 'Alice', 30, 'Los Angeles');

可使用JSON_OBJECT函數(shù)來(lái)將表中的字段轉(zhuǎn)換為JSON字符串:

-- 將id、name、age、city字段合并為JSON字符串
SELECT id, JSON_OBJECT('name', name, 'age', age, 'city', city) AS json_data
FROM person;

上述查詢(xún)將返回一個(gè)包含JSON字符串的結(jié)果集,其中每行都包含一個(gè)由idname、age、city字段構(gòu)成的JSON對(duì)象。

+----+---------------------------------------------+
| id | json_data                                   |
+----+---------------------------------------------+
|  1 | {"name": "John", "age": 25, "city": "New York"} |
|  2 | {"name": "Alice", "age": 30, "city": "Los Angeles"} |
+----+---------------------------------------------+

在實(shí)際應(yīng)用中,可按需調(diào)整字段和JSON對(duì)象的構(gòu)建方式。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MYSQL ZIP免安裝版配置步驟及圖形化管理工具mysql-workbench

    MYSQL ZIP免安裝版配置步驟及圖形化管理工具mysql-workbench

    在 windows7 64位操作系統(tǒng)下配置mysql-5.5.25-winx64 (免安裝版),記錄步驟如下
    2014-03-03
  • ubuntu server配置mysql并實(shí)現(xiàn)遠(yuǎn)程連接的操作方法

    ubuntu server配置mysql并實(shí)現(xiàn)遠(yuǎn)程連接的操作方法

    下面小編就為大家分享一篇ubuntu server配置mysql并實(shí)現(xiàn)遠(yuǎn)程連接的操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • mysql 5.7.17 winx64安裝配置方法圖文教程

    mysql 5.7.17 winx64安裝配置方法圖文教程

    這篇文章主要為大家分享了mysql 5.7.17winx64安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • MySQL慢SQL語(yǔ)句常見(jiàn)誘因以及解決方法

    MySQL慢SQL語(yǔ)句常見(jiàn)誘因以及解決方法

    在本篇文章里小編給大家整理的關(guān)于MySQL慢SQL語(yǔ)句常見(jiàn)誘因以及解決方法,有需要的朋友們可以學(xué)習(xí)下。
    2019-08-08
  • mysql啟動(dòng)提示:錯(cuò)誤2系統(tǒng)找不到指定文件的解決方案

    mysql啟動(dòng)提示:錯(cuò)誤2系統(tǒng)找不到指定文件的解決方案

    這篇文章主要給大家介紹了mysql啟動(dòng)提示:錯(cuò)誤2系統(tǒng)找不到指定文件的解決方案,文中通過(guò)圖文結(jié)合的方式給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-02-02
  • 使用MySQL實(shí)現(xiàn)高效的用戶(hù)昵稱(chēng)模糊搜索

    使用MySQL實(shí)現(xiàn)高效的用戶(hù)昵稱(chēng)模糊搜索

    在大型系統(tǒng)中,用戶(hù)表中的昵稱(chēng)字段需要支持高效的模糊搜索,并且必須處理包含特殊字符的查詢(xún),本文將介紹一種在MySQL中實(shí)現(xiàn)高效模糊搜索的解決方案,能夠支持特殊字符,并且利用MySQL自身的全文索引機(jī)制來(lái)優(yōu)化搜索性能,需要的朋友可以參考下
    2024-05-05
  • Centos7.3下mysql5.7安裝配置教程

    Centos7.3下mysql5.7安裝配置教程

    這篇文章主要為大家詳細(xì)介紹了Centos7.3下mysql5.7安裝配置教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 新手把mysql裝進(jìn)docker中碰到的各種問(wèn)題

    新手把mysql裝進(jìn)docker中碰到的各種問(wèn)題

    這篇文章主要給大家介紹了新手第一次把mysql裝進(jìn)docker中可能碰到的各種問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 在Mysql數(shù)據(jù)庫(kù)里通過(guò)存儲(chǔ)過(guò)程實(shí)現(xiàn)樹(shù)形的遍歷

    在Mysql數(shù)據(jù)庫(kù)里通過(guò)存儲(chǔ)過(guò)程實(shí)現(xiàn)樹(shù)形的遍歷

    關(guān)于多級(jí)別菜單欄或者權(quán)限系統(tǒng)中部門(mén)上下級(jí)的樹(shù)形遍歷,oracle中有connect by來(lái)實(shí)現(xiàn),mysql沒(méi)有這樣的便捷途徑,所以MySQL遍歷數(shù)據(jù)表是我們經(jīng)常會(huì)遇到的頭痛問(wèn)題,下面給大家介紹在Mysql數(shù)據(jù)庫(kù)里通過(guò)存儲(chǔ)過(guò)程實(shí)現(xiàn)樹(shù)形的遍歷,一起看看吧
    2016-11-11
  • MySQL 時(shí)間類(lèi)型的選擇

    MySQL 時(shí)間類(lèi)型的選擇

    MySQL 有多種類(lèi)型存儲(chǔ)日期和時(shí)間,例如 YEAR 和 DATE。MySQL 的時(shí)間類(lèi)型存儲(chǔ)的精確度能到秒(MariaDB 可以到毫秒級(jí))。但是,也可以通過(guò)時(shí)間計(jì)算達(dá)到毫秒級(jí)。時(shí)間類(lèi)型的選擇沒(méi)有最佳,而是取決于業(yè)務(wù)需要如何處理時(shí)間的存儲(chǔ)。
    2021-06-06

最新評(píng)論