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

MySQL json相關(guān)函數(shù)及功能詳解

 更新時(shí)間:2023年11月09日 11:49:29   作者:唯丹之心  
MySQL提供了一系列的JSON函數(shù),用于解析、提取、修改和操作JSON數(shù)據(jù),以下是一些常用的JSON函數(shù)及其功能,需要的朋友可以參考下

MySQL提供了一系列的JSON函數(shù),用于解析、提取、修改和操作JSON數(shù)據(jù)。以下是一些常用的JSON函數(shù)及其功能。

以下所有操作都使用該表(zone_test)用來(lái)演示:

一:JSON_OBJECT(key1,value1,key2,value2)

1、作用:

用來(lái)創(chuàng)建一個(gè)JSON對(duì)象??梢灾付ㄦI值對(duì)作為參數(shù),返回一個(gè)JSON對(duì)象。

鍵和值可以是字符串、數(shù)字、布爾值等。

2、使用:

創(chuàng)建一個(gè)JSON對(duì)象:

可以在INSERTUPDATE語(yǔ)句中使用JSON_OBJECT()函數(shù)來(lái)插入或更新JSON字段的值:

INSERT INTO zone_test (name,age,drss_style) VALUES('clothes': '衛(wèi)衣', 'hat': '棒球帽', 'trousers': '牛仔褲', 'shoe': '板鞋'))

二:JSON_ARRAY(value,value1,value2)

1、作用:

創(chuàng)建一個(gè)JSON數(shù)組??梢灾付ǘ鄠€(gè)值作為參數(shù),返回一個(gè)JSON數(shù)組。

值可以是字符串、數(shù)字、布爾值等。

2、使用:

創(chuàng)建一個(gè)JSON數(shù)組

可以在INSERT或UPDATE語(yǔ)句中使用JSON_ARRAY()函數(shù)來(lái)插入或更新JSON字段的值

INSERT INTO zone_test (name,age,drss_style,girl_friend) VALUES('王二麻子',48,JSON_OBJECT('帽子','棒球帽'),JSON_ARRAY('小紅','小黃','小紫'))

三:JSON_EXTRACT(json_doc, path)

1、作用:

從JSON文檔中提取指定路徑的值。

json_doc是JSON文檔,path是要提取的JSON鍵的路徑。

請(qǐng)注意,JSON鍵的路徑必須用引號(hào)括起來(lái),并且路徑的開(kāi)始必須是$。

2、使用:

例如:我想要知道所有人的帽子都是什么?

SELECT name,JSON_EXTRACT(drss_style, '$.hat') as hat from zone_test

四:JSON_SET(json_doc, path, value)

1、作用:

設(shè)置JSON文檔中指定路徑的值。

如果路徑存在,則替換現(xiàn)有的值;如果路徑不存在,則添加新的鍵值對(duì)

請(qǐng)注意,JSON鍵的路徑必須用引號(hào)括起來(lái),并且路徑的開(kāi)始必須是$

2、使用:

例如:我想把李四的帽子改成“草帽”。

UPDATE zone_test SET drss_style = JSON_SET(drss_style,'$.hat','草帽') where name ='李四'

五:JSON_INSERT(json_doc, path, value)

1、作用:

在JSON文檔中指定路徑處插入一個(gè)新的鍵值對(duì)。

如果路徑存在,則插入新的鍵值對(duì);如果路徑不存在,則不做任何操作

請(qǐng)注意,JSON鍵的路徑必須用引號(hào)括起來(lái),并且路徑的開(kāi)始必須是$。

2、使用:

例如:我想再drss_style新增一個(gè)新的鍵值對(duì),手表。

UPDATE zone_test SET drss_style = JSON_INSERT(drss_style,'$.watch','華為手表')

六:JSON_REMOVE(json_doc, path)

1、作用:

從JSON文檔中刪除指定路徑的鍵值對(duì)。

如果路徑存在,則刪除指定的鍵值對(duì);如果路徑不存在,則不做任何操作。

2、使用:

例如:我想刪除王二麻子的watch這個(gè)鍵值對(duì)。

UPDATE zone_test SET drss_style = JSON_REMOVE(drss_style,'$.watch') where name='王二麻子'

七:JSON_REPLACE(json_doc, path, value)

1、作用:

替換JSON文檔中指定路徑的值。

如果路徑存在,則替換現(xiàn)有的值;如果路徑不存在,則不做任何操作。
【跟JSON_SET的區(qū)別:json_set如果路徑不存在,就新增】

2、使用:

例如:修改王二麻子的帽子跟手表這2項(xiàng)

UPDATE zone_test SET drss_style = JSON_REPLACE(drss_style,'$.watch','小米手表') where name='王二麻子';
UPDATE zone_test SET drss_style = JSON_REPLACE(drss_style,'$.hat','太陽(yáng)帽') where name='王二麻子';

八:JSON_ARRAY_APPEND(json_doc, path, value)

1、作用:

在JSON文檔中指定路徑處的數(shù)組末尾追加一個(gè)新的值。

如果路徑存在且是一個(gè)數(shù)組,則在數(shù)組末尾追加新的值;

如果路徑不存在或不是一個(gè)數(shù)組,則不做任何操作。

2、使用:

例如:在boy_friend里追加一個(gè)數(shù)據(jù)

UPDATE zone_test SET drss_style = JSON_ARRAY_APPEND(drss_style,'$.boy_friend','吳磊') where name='王二麻子';

九:JSON_ARRAY_INSERT(json_doc, path, value)

1、作用:

在JSON文檔中指定路徑處的數(shù)組中插入一個(gè)新的值。

如果路徑存在且是一個(gè)數(shù)組,則在指定索引處插入新的值;

如果路徑不存在或不是一個(gè)數(shù)組,則不做任何操作。

2、使用:

例如:在霍建華跟吳磊中間插入一個(gè)黃凱。

UPDATE zone_test SET drss_style = JSON_ARRAY_INSERT(drss_style,'$.boy_friend[2]','黃凱') where name='王二麻子';

十:JSON_ARRAY_REMOVE(json_doc, path)

1、作用:

從JSON文檔中指定路徑處的數(shù)組中刪除一個(gè)值。

如果路徑存在且是一個(gè)數(shù)組,并且指定的索引處有一個(gè)值,則刪除該值;

如果路徑不存在或不是一個(gè)數(shù)組,或者指定的索引處沒(méi)有值,則不做任何操作。

2、使用:

例如:把boy_friend里的霍建華刪除掉。

UPDATE zone_test SET drss_style = JSON_ARRAY_REMOVE(drss_style,'$.boy_friend[1]') where name='王二麻子';

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

相關(guān)文章

  • MySQL gh-ost DDL 變更工具的實(shí)現(xiàn)

    MySQL gh-ost DDL 變更工具的實(shí)現(xiàn)

    本文主要介紹了MySQL gh-ost DDL變更工具的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • MySql 5.6.36 64位綠色版安裝圖文教程

    MySql 5.6.36 64位綠色版安裝圖文教程

    這篇文章主要介紹了MySql 5.6.36 64位綠色版安裝圖文教程,需要的朋友可以參考下
    2017-05-05
  • mysql的聯(lián)合索引(復(fù)合索引)的實(shí)現(xiàn)

    mysql的聯(lián)合索引(復(fù)合索引)的實(shí)現(xiàn)

    這篇文章主要介紹了mysql的聯(lián)合索引(復(fù)合索引)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 高性能MySQL讀書(shū)筆記 找出誰(shuí)持有鎖

    高性能MySQL讀書(shū)筆記 找出誰(shuí)持有鎖

    周末重讀了一遍《高性能MySQL》,發(fā)現(xiàn)有些知識(shí)點(diǎn)看過(guò)便忘了,沒(méi)有實(shí)際動(dòng)手操作一遍就是記不牢,所以今天動(dòng)手操作了一下“找出誰(shuí)持有鎖”,并把實(shí)驗(yàn)步驟記錄下來(lái),有興趣的網(wǎng)友可以參照一二。
    2011-01-01
  • Mysql中 IFNULL函數(shù)的使用詳解

    Mysql中 IFNULL函數(shù)的使用詳解

    IFNULL()函數(shù)在MySQL中用來(lái)檢查第一個(gè)表達(dá)式是否為NULL,非NULL則返回第一個(gè)值,否則返回第二個(gè)值,本文就來(lái)詳細(xì)的介紹一下如何使用,感興趣的可以了解一下
    2024-09-09
  • windows下安裝mysql-8.0.18-winx64的教程(圖文詳解)

    windows下安裝mysql-8.0.18-winx64的教程(圖文詳解)

    這篇文章主要介紹了windows下安裝mysql-8.0.18-winx64,需要的朋友可以參考下
    2019-12-12
  • Navicat數(shù)據(jù)存放位置和備份數(shù)據(jù)庫(kù)路徑設(shè)置方式

    Navicat數(shù)據(jù)存放位置和備份數(shù)據(jù)庫(kù)路徑設(shè)置方式

    這篇文章主要介紹了Navicat數(shù)據(jù)存放位置和備份數(shù)據(jù)庫(kù)路徑設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • MySQL 5.7增強(qiáng)版Semisync Replication性能優(yōu)化

    MySQL 5.7增強(qiáng)版Semisync Replication性能優(yōu)化

    這篇文章主要介紹了MySQL 5.7增強(qiáng)版Semisync Replication性能優(yōu)化,本文著重講解支持發(fā)送binlog和接受ack的異步化、支持在事務(wù)commit前等待ACK兩項(xiàng)內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • 一文搞懂什么是MySQL前綴索引

    一文搞懂什么是MySQL前綴索引

    所謂前綴索引,說(shuō)白了就是對(duì)文本的前幾個(gè)字符建立索引,有點(diǎn)類似于?Oracle?中對(duì)字段使用?Left?函數(shù)來(lái)建立函數(shù)索引,只不過(guò)?MySQL?的這個(gè)前綴索引在查詢時(shí)是內(nèi)部自動(dòng)完成匹配的。本文將通過(guò)示例詳細(xì)聊聊前綴索引,需要的可以參考一下
    2022-09-09
  • MySQL解決Navicat設(shè)置默認(rèn)字符串時(shí)的報(bào)錯(cuò)問(wèn)題

    MySQL解決Navicat設(shè)置默認(rèn)字符串時(shí)的報(bào)錯(cuò)問(wèn)題

    本文主要介紹了MySQL解決Navicat設(shè)置默認(rèn)字符串時(shí)的報(bào)錯(cuò),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06

最新評(píng)論