婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL中json字段的操作方法

MySQL中json字段的操作方法

熱門標(biāo)簽:廣東人工電話機(jī)器人 湖南人工外呼系統(tǒng)多少錢 南通自動外呼系統(tǒng)軟件 石家莊電商外呼系統(tǒng) 申請外呼電話線路 芒果電話機(jī)器人自動化 日照旅游地圖標(biāo)注 信陽穩(wěn)定外呼系統(tǒng)運營商 百度地圖圖標(biāo)標(biāo)注中心

   MySQL5.7.8中引入了json字段,這種類型的字段使用的頻率比較低,但是在實際操作中,有些業(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: 0

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)

    首先我們創(chuàng)建了一個表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)

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

1、$符號代表的是json的根目錄,

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

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

下面來看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個數(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文件的深度,測試?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中是否有一個或者多個成員。

mysql> set @j='{"a":1,"b":2,"c":{"d":4}}';
Query OK, 0 rows affected (0.00 sec)
#one的意思是只要包含一個成員,就返回1
mysql> select json_contains_path(@j,'one','$.a','$.e');
+------------------------------------------+
| json_contains_path(@j,'one','$.a','$.e') |
+------------------------------------------+
|                    1 |
+------------------------------------------+
1 row in set (0.00 sec)
#all的意思是所有的成員都包含,才返回1
mysql> 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é)合起來使用。

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組合起來的類型,可以看到是array
mysql> 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字段的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • 深入淺出講解MySQL的并行復(fù)制
  • MySQL刪除了記錄不生效的原因排查
  • MySQL CHAR和VARCHAR存儲、讀取時的差別
  • MySQL學(xué)習(xí)教程之聚簇索引
  • 淺談MySQL大表優(yōu)化方案
  • MySQL8.0中的降序索引
  • 詳解mysql中的存儲引擎
  • 記一次MySQL的優(yōu)化案例
  • mysql 主從復(fù)制如何跳過報錯
  • 淺析MySQL并行復(fù)制

標(biāo)簽:阿里 牡丹江 惠州 合肥 呼和浩特 沈陽 天津 公主嶺

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL中json字段的操作方法》,本文關(guān)鍵詞  MySQL,中,json,字段,的,操作,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL中json字段的操作方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL中json字段的操作方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美精品v国产精品v日韩精品 | 欧美精品tushy高清| 亚洲蜜桃精久久久久久久| 91亚洲午夜精品久久久久久| 亚洲欧美在线观看| 欧美性大战久久久久久久| 亚洲大片一区二区三区| 欧美一区二区网站| 国产成人精品亚洲日本在线桃色| 国产精品传媒入口麻豆| 欧美性三三影院| 蜜桃视频在线观看一区| 久久免费精品国产久精品久久久久| 国产99久久久国产精品| 亚洲女同ⅹxx女同tv| 欧美精品色综合| 国产成人免费在线观看| 亚洲一区二区高清| 久久综合av免费| 日本道在线观看一区二区| 日本午夜精品视频在线观看| 国产午夜精品久久| 欧美日韩一区不卡| 国产传媒日韩欧美成人| 亚洲国产综合色| 26uuuu精品一区二区| 在线视频欧美精品| 国产精品影视在线观看| 亚洲成人激情自拍| 国产午夜精品一区二区三区视频| 在线精品视频一区二区三四| 国内外成人在线| 亚洲第四色夜色| 国产精品美女久久久久高潮| 欧美一区二区三区不卡| 一本色道久久综合亚洲91| 精品亚洲成a人在线观看 | 亚洲成人动漫av| 国产精品私房写真福利视频| 欧美巨大另类极品videosbest| a级精品国产片在线观看| 日本va欧美va精品| 亚洲综合成人在线视频| 国产精品视频免费看| 日韩欧美色电影| 欧美性色欧美a在线播放| 成人精品免费视频| 精彩视频一区二区| 日韩av中文字幕一区二区| 亚洲美女偷拍久久| 中文av字幕一区| 26uuu亚洲综合色欧美| 337p亚洲精品色噜噜狠狠| 91香蕉视频污| 99久久婷婷国产精品综合| 国产一区二区免费视频| 人人爽香蕉精品| 调教+趴+乳夹+国产+精品| 一区二区不卡在线视频 午夜欧美不卡在| 久久久久国产精品厨房| 欧美不卡视频一区| 欧美一级黄色录像| 欧美一区二区三区视频免费播放| 欧美系列在线观看| 欧美私模裸体表演在线观看| 色综合久久久久综合99| 97久久久精品综合88久久| a美女胸又www黄视频久久| a级精品国产片在线观看| 成人激情午夜影院| 99久久伊人精品| 99re这里只有精品6| 91女神在线视频| 在线欧美一区二区| 欧美精品视频www在线观看| 欧美精品aⅴ在线视频| 91精品国产福利| 欧美刺激午夜性久久久久久久| 欧美大胆一级视频| 精品福利在线导航| 国产偷v国产偷v亚洲高清| 国产欧美视频在线观看| 中文字幕亚洲区| 一区二区三区国产精品| 午夜精品久久久久久久久| 日韩精品电影一区亚洲| 久久综合综合久久综合| 国产精品1区2区| 91污片在线观看| 欧美日韩国产精品成人| 日韩欧美亚洲国产另类| 国产欧美一区二区三区网站| 亚洲欧美在线观看| 视频一区二区欧美| 国产一区二区视频在线播放| 99久久99久久综合| 欧美三级电影精品| 欧美精品一区二| 亚洲精品国产成人久久av盗摄| 亚洲线精品一区二区三区| 蜜臀va亚洲va欧美va天堂| 国产成人综合在线播放| 欧美影院午夜播放| 2021久久国产精品不只是精品| 久久精品视频在线免费观看 | 欧美极品aⅴ影院| 日韩理论电影院| 午夜av一区二区| 国产精品白丝jk白祙喷水网站| 91日韩在线专区| 欧美xxxxxxxxx| 亚洲日本乱码在线观看| 日本中文字幕不卡| 99re成人在线| 亚洲电影中文字幕在线观看| 另类中文字幕网| 91麻豆精东视频| 欧美xxx久久| 亚洲电影中文字幕在线观看| 国产精品18久久久久久久久| 日本道免费精品一区二区三区| 精品电影一区二区| 午夜国产不卡在线观看视频| 成人av综合一区| 日韩限制级电影在线观看| 亚洲三级理论片| 国产一区二区在线影院| 欧美私模裸体表演在线观看| 国产精品福利在线播放| 久久精品国产色蜜蜜麻豆| 欧美性videosxxxxx| 国产精品久久久久久久久免费丝袜| 爽爽淫人综合网网站| 色哟哟亚洲精品| 国产日韩一级二级三级| 蜜臀av在线播放一区二区三区 | 亚洲丝袜精品丝袜在线| 国产在线看一区| 欧美精品一级二级| 亚洲丝袜另类动漫二区| 懂色av一区二区三区免费看| 日韩一区二区在线观看视频| 夜夜嗨av一区二区三区四季av| 成人综合婷婷国产精品久久免费| 精品久久久久久久久久久久久久久久久 | 国产成+人+日韩+欧美+亚洲| 日韩小视频在线观看专区| 丝袜亚洲另类欧美| 91看片淫黄大片一级| 中文字幕亚洲欧美在线不卡| 成人av动漫网站| 国产色产综合产在线视频| 国产乱色国产精品免费视频| 精品久久久久久最新网址| 欧美96一区二区免费视频| 91精品国产综合久久精品麻豆| 偷拍与自拍一区| 欧美日韩大陆一区二区| 午夜精品视频一区| 欧美精品xxxxbbbb| 青青草97国产精品免费观看无弹窗版 | 欧美一区二区三区思思人| 日本一道高清亚洲日美韩| 4438x亚洲最大成人网| 免费高清在线一区| 日韩免费观看高清完整版| 精品午夜一区二区三区在线观看| 精品国产青草久久久久福利| 精品在线视频一区| 国产亚洲短视频| 97精品国产露脸对白| 亚洲日本在线视频观看| 91精彩视频在线| 视频在线观看91| 精品人在线二区三区| 国产大片一区二区| 综合中文字幕亚洲| 欧美精品九九99久久| 国产综合色产在线精品| 国产精品青草久久| 欧美性一二三区| 久草在线在线精品观看| 国产欧美精品在线观看| 色吧成人激情小说| 日韩av中文字幕一区二区| 国产日韩欧美精品电影三级在线| www.成人在线| 亚洲v中文字幕| 久久影院午夜论| 色婷婷av一区二区三区软件| 婷婷成人激情在线网| 国产午夜亚洲精品不卡| 91福利小视频| 国产在线精品免费av| 1000部国产精品成人观看| 欧美日韩大陆在线| 大桥未久av一区二区三区中文| 亚洲福利一区二区三区| 久久在线观看免费| 欧美日韩精品免费|