日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

MySQL中json字段的操作方法

瀏覽:41日期:2023-10-09 17:47:03

MySQL5.7.8中引入了json字段,這種類型的字段使用的頻率比較低,但是在實(shí)際操作中,有些業(yè)務(wù)仍然在用,我們以此為例,介紹下json字段的操作方法:

還是從例子看起:

mysql> create table test1(id int,info json);Query OK, 0 rows affected (0.02 sec)mysql> insert into test1 values (1,’{'name':'yeyz','age':26}’),(2,’{'name':'zhangsan','age':30}’),(3,’{'name':'lisi','age':35}’);Query OK, 3 rows affected (0.02 sec)Records: 3 Duplicates: 0 Warnings: 0mysql> select * from test1;+------+---------------------------------+| id | info |+------+---------------------------------+| 1 | {'age': 26, 'name': 'yeyz'} || 2 | {'age': 30, 'name': 'zhangsan'} || 3 | {'age': 35, 'name': 'lisi'} |+------+---------------------------------+3 rows in set (0.00 sec)

首先我們創(chuàng)建了一個(gè)表test1,其中id是int字段,info是json字段,插入了三條數(shù)據(jù),如上:

mysql> select * from test1 where json_extract(info,'$.age')>=30;+------+---------------------------------+| id | info |+------+---------------------------------+| 2 | {'age': 30, 'name': 'zhangsan'} || 3 | {'age': 35, 'name': 'lisi'} |+------+---------------------------------+2 rows in set (0.00 sec)

我們可以通過(guò)json_extract的方法得到j(luò)son中的內(nèi)容。其中:

1、$符號(hào)代表的是json的根目錄,

2、我們使用$.age相當(dāng)于取出來(lái)了json中的age字段,

3、當(dāng)然,在函數(shù)最前面,應(yīng)該寫上字段名字info

下面來(lái)看json中常用的函數(shù):

a、json_valid判斷是否是json字段,如果是,返回1,如果不是,返回0

mysql> select json_valid(2);+---------------+| json_valid(2) |+---------------+| 0 |+---------------+1 row in set (0.01 sec)mysql> select json_valid(’{'num':2}’);+-------------------------+| json_valid(’{'num':2}’) |+-------------------------+| 1 |+-------------------------+1 row in set (0.00 sec)mysql> select json_valid(’2’);+-----------------+| json_valid(’2’) |+-----------------+|1 |+-----------------+1 row in set (0.00 sec)mysql> select json_valid(’name’);+--------------------+| json_valid(’name’) |+--------------------+| 0 |+--------------------+1 row in set (0.00 sec)

這里需要注意的是,如果傳入了字符串2,那么,返回結(jié)果是1

b、json_keys傳回執(zhí)行json字段最上一層的key值

mysql> select json_keys(’{'name':'yeyz','score':100}’);+------------------------------------------+| json_keys(’{'name':'yeyz','score':100}’) |+------------------------------------------+| ['name', 'score'] |+------------------------------------------+1 row in set (0.01 sec)mysql> select json_keys(’{'name':'yeyz','score':{'math':100,'English':95}}’);+----------------------------------------------------------------+| json_keys(’{'name':'yeyz','score':{'math':100,'English':95}}’) |+----------------------------------------------------------------+| ['name', 'score'] |+----------------------------------------------------------------+1 row in set (0.00 sec)#如果有多層,可以在最后面使用$的方法,拿到其中的某一層的目錄mysql> select json_keys(’{'name':'yeyz','score':{'math':100,'English':95}}’,’$.score’);+--------------------------------------------------------------------------+| json_keys(’{'name':'yeyz','score':{'math':100,'English':95}}’,’$.score’) |+--------------------------------------------------------------------------+| ['math', 'English'] |+--------------------------------------------------------------------------+1 row in set (0.00 sec)

c、json_length函數(shù),返回最上一層的key個(gè)數(shù),如果想取到中間的某一層,則可以使用$的方法,如下:

mysql> select json_length(’{'name':'yeyz','score':{'math':100,'English':95},'age':26}’);+---------------------------------------------------------------------------+| json_length(’{'name':'yeyz','score':{'math':100,'English':95},'age':26}’) |+---------------------------------------------------------------------------+| 3 |+---------------------------------------------------------------------------+1 row in set (0.00 sec)mysql> select json_length(’{'name':'yeyz','score':{'math':100,'English':95},'age':26}’,’$.score’);+-------------------------------------------------------------------------------------+| json_length(’{'name':'yeyz','score':{'math':100,'English':95},'age':26}’,’$.score’) |+-------------------------------------------------------------------------------------+| 2 |+-------------------------------------------------------------------------------------+1 row in set (0.00 sec)

d、json_depth函數(shù),json文件的深度,測(cè)試?yán)尤缦拢?/p>

mysql> select json_depth(’{'aaa':1}’),json_depth(’{}’);+-------------------------+------------------+| json_depth(’{'aaa':1}’) | json_depth(’{}’) |+-------------------------+------------------+| 2 |1 |+-------------------------+------------------+1 row in set (0.00 sec)mysql> select json_depth(’{'name':'yeyz','score':{'math':100,'English':95},'age':26}’);+--------------------------------------------------------------------------+| json_depth(’{'name':'yeyz','score':{'math':100,'English':95},'age':26}’) |+--------------------------------------------------------------------------+| 3 |+--------------------------------------------------------------------------+1 row in set (0.00 sec)

這里需要注意的是,形如{’aa’:1}這種形式的json,其深度是2

e、json_contains_path函數(shù)檢索json中是否有一個(gè)或者多個(gè)成員。

mysql> set @j=’{'a':1,'b':2,'c':{'d':4}}’;Query OK, 0 rows affected (0.00 sec)#one的意思是只要包含一個(gè)成員,就返回1mysql> select json_contains_path(@j,’one’,’$.a’,’$.e’);+------------------------------------------+| json_contains_path(@j,’one’,’$.a’,’$.e’) |+------------------------------------------+| 1 |+------------------------------------------+1 row in set (0.00 sec)#all的意思是所有的成員都包含,才返回1mysql> select json_contains_path(@j,’all’,’$.a’,’$.e’);+------------------------------------------+| json_contains_path(@j,’all’,’$.a’,’$.e’) |+------------------------------------------+| 0 |+------------------------------------------+1 row in set (0.01 sec)mysql> select json_contains_path(@j,’one’,’$.c.d’);+--------------------------------------+| json_contains_path(@j,’one’,’$.c.d’) |+--------------------------------------+| 1 |+--------------------------------------+1 row in set (0.00 sec)mysql> select json_contains_path(@j,’one’,’$.a.d’);+--------------------------------------+| json_contains_path(@j,’one’,’$.a.d’) |+--------------------------------------+| 0 |+--------------------------------------+1 row in set (0.00 sec)

f、json_type函數(shù),判斷json中的成員的類型,需要和json_extract結(jié)合起來(lái)使用。

mysql> select * from test1;+------+---------------------------------+| id | info |+------+---------------------------------+| 1 | {'age': 26, 'name': 'yeyz'} || 2 | {'age': 30, 'name': 'zhangsan'} || 3 | {'age': 35, 'name': 'lisi'} |+------+---------------------------------+3 rows in set (0.00 sec)#判斷name的類型mysql> select json_type(json_extract(info,'$.name')) from test1;+----------------------------------------+| json_type(json_extract(info,'$.name')) |+----------------------------------------+| STRING || STRING || STRING |+----------------------------------------+3 rows in set (0.00 sec)#判斷age的類型mysql> select json_type(json_extract(info,'$.age')) from test1;+---------------------------------------+| json_type(json_extract(info,'$.age')) |+---------------------------------------+| INTEGER|| INTEGER|| INTEGER|+---------------------------------------+3 rows in set (0.00 sec)#判斷name和age組合起來(lái)的類型,可以看到是arraymysql> select json_type(json_extract(info,'$.name','$.age')) from test1;+------------------------------------------------+| json_type(json_extract(info,'$.name','$.age')) |+------------------------------------------------+| ARRAY || ARRAY || ARRAY |+------------------------------------------------+3 rows in set (0.00 sec)

g、*的作用,所有的值,看下面的例子。

{ 'a':1, 'b':2, 'c': { 'd':4 } 'e': { 'd': { 'ddd': '5' } }}mysql> set @j=’{'a':1,'b':2,'c':{'d':4},'e':{'d':{'ddd':'5'}}}’;Query OK, 0 rows affected (0.00 sec)#所有成員mysql> select json_extract(@j,’$.*’);+---------------------------------------+| json_extract(@j,’$.*’)|+---------------------------------------+| [1, 2, {'d': 4}, {'d': {'ddd': '5'}}] |+---------------------------------------+1 row in set (0.00 sec)#所有成員中的d成員mysql> select json_extract(@j,’$.*.d’);+--------------------------+| json_extract(@j,’$.*.d’) |+--------------------------+| [4, {'ddd': '5'}] |+--------------------------+1 row in set (0.00 sec)

以上就是MySQL中json字段的操作方法的詳細(xì)內(nèi)容,更多關(guān)于MySQL json字段的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: MySQL 數(shù)據(jù)庫(kù)
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
最新亚洲国产| 精品资源在线| 国产精品av一区二区| 色天使综合视频| 日韩在线观看不卡| 亚洲高清激情| 91久久久久| 国产主播一区| 亚洲神马久久| 亚洲久久在线| 国产日本精品| 精品五月天堂| 久久人人97超碰国产公开结果| 久久天堂成人| 亚洲一区日韩在线| 青青草精品视频| 国产精品一区二区三区四区在线观看 | 日韩av在线播放中文字幕| 日韩avvvv在线播放| 国产亚洲一区| 狠狠久久伊人| 蜜桃国内精品久久久久软件9| 91久久久精品国产| 男女性色大片免费观看一区二区| 亚洲aa在线| 九九99久久精品在免费线bt| 久久男女视频| 亚洲欧洲日韩精品在线| 国产精品一区毛片| av一区在线| 亚州欧美在线| 日韩av免费大片| 99riav1国产精品视频| 日本在线不卡视频| 久久这里只有精品一区二区| 伊人久久高清| 日韩精品一区二区三区中文在线 | 福利精品在线| 亚洲激情中文在线| 日韩区欧美区| 国产一区二区三区不卡视频网站| 久久久久久久久丰满| 日本亚洲视频在线| 国产videos久久| 一区二区自拍| 欧美亚洲福利| 亚洲福利一区| 国产精品红桃| 蜜桃tv一区二区三区| 国产日本亚洲| 成人av二区| 欧美国产亚洲精品| 亚洲欧美日韩在线观看a三区| 国产精品亚洲人成在99www| 午夜精品成人av| 日韩激情精品| 婷婷精品进入| 国产精品久久久久久妇女| 国产在线日韩| 国产高清亚洲| 伊人影院久久| 精品久久99| 四虎在线精品| 亚洲夜间福利| 荡女精品导航| 亚洲精品三级| 国产字幕视频一区二区| 国产精品一级| 日韩精品一级中文字幕精品视频免费观看 | 精品视频一区二区三区在线观看| 日韩视频二区| 国产91欧美| 亚州国产精品| 亚洲男女av一区二区| 麻豆精品在线观看| 亚洲无线观看| 中文字幕系列一区| 国产精品国码视频| 综合一区在线| 欧美日韩国产高清电影| 国产精品毛片视频| 玖玖玖国产精品| 久久精品青草| 福利一区视频| 国产图片一区| 亚洲另类黄色| 99国产精品视频免费观看一公开| 国产白浆在线免费观看| 国产欧美日韩精品一区二区免费 | 精品淫伦v久久水蜜桃| 亚洲精品一二| 亚洲成人日韩| 播放一区二区| 日本蜜桃在线观看视频| 麻豆精品少妇| 国产精品一在线观看| 亚洲毛片一区| 亚洲一区二区日韩| 9国产精品视频| 欧美日韩国产高清电影| 久久精品在线| 欧洲在线一区| 中文在线中文资源| 国产66精品| 久久精品国产亚洲aⅴ| 国产剧情一区| 国产福利亚洲| 国产精品**亚洲精品| 国产精品中文字幕制服诱惑| 欧美午夜三级| 国产亚洲欧美日韩精品一区二区三区 | 日韩av一区二区三区四区| 美美哒免费高清在线观看视频一区二区| 免费不卡中文字幕在线| 久久国产日本精品| 黄毛片在线观看| 91亚洲一区| 久久影院午夜精品| 久久国产成人| 欧美99久久| 美女黄网久久| 欧美日韩伊人| 国产精品二区不卡| 久久精品主播| 日韩在线观看一区二区| 欧美在线精品一区| 久久香蕉网站| 91精品综合| 蜜臀久久99精品久久久久宅男| 日韩和欧美一区二区| 麻豆高清免费国产一区| 亚洲成人精品| 日韩三级视频| 国产66精品| 亚洲一卡久久| 久久99偷拍| 激情五月综合网| 91精品麻豆| 国内精品美女在线观看| 国产综合精品| 欧美亚洲三级| 99精品综合| 日韩美女国产精品| 福利一区二区免费视频| 久久亚洲不卡| 精品国产欧美日韩| 欧美日韩视频一区二区三区| 欧美日韩调教| 99精品美女| 欧美欧美黄在线二区| 欧美亚洲国产激情| 国产精品嫩草影院在线看| 亚洲一本视频| 国产日韩在线观看视频| 黄色在线网站噜噜噜| 色婷婷成人网| 日韩免费看片| 日韩国产精品久久久| 精品国模一区二区三区| 久久国产人妖系列| 亚洲激情二区| 激情综合五月| 国产v日韩v欧美v| 日韩欧美中文字幕一区二区三区| 久久天堂影院| 激情欧美一区| 热久久久久久| 蜜桃精品在线| 综合激情视频| 精品国产美女a久久9999| 欧美粗暴jizz性欧美20| 91麻豆精品| 欧美日韩中文一区二区| 日韩高清不卡一区二区| 成人精品久久| 亚洲乱码视频| 欧洲一区二区三区精品| 国产精品久久久免费| 在线天堂资源www在线污| 日本色综合中文字幕| 欧美91福利在线观看| 国产一区二区三区不卡av| 日本少妇一区二区| 激情综合自拍| 精品三级av| 婷婷精品在线观看| 午夜久久美女| 日韩黄色大片| 麻豆91小视频| 久久激情综合网| 亚洲精品一二三**| av亚洲在线观看| 波多视频一区| 精品亚洲精品| 国产精品中文字幕制服诱惑| 日韩视频1区| 亚洲字幕久久| 日韩中文字幕一区二区三区| 国产综合激情| 91精品啪在线观看国产18|