亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MySQL5.7 JSON類型使用詳解

2024-07-24 13:14:34
字體:
來源:轉載
供稿:網友

JSON是一種輕量級的數據交換格式,采用了獨立于語言的文本格式,類似XML,但是比XML簡單,易讀并且易編寫。對機器來說易于解析和生成,并且會減少網絡帶寬的傳輸。

    JSON的格式非常簡單:名稱/鍵值。之前MySQL版本里面要實現這樣的存儲,要么用VARCHAR要么用TEXT大文本。 MySQL5.7發布后,專門設計了JSON數據類型以及關于這種類型的檢索以及其他函數解析。 我們先看看MySQL老版本的JSON存取。

示例表結構:

CREATE TABLE json_test( id INT, person_desc TEXT )ENGINE INNODB; 

我們來插入一條記錄:

NSERT INTO json_test VALUES (1,'{   "programmers": [{     "firstName": "Brett",     "lastName": "McLaughlin",     "email": "aaaa"   }, {     "firstName": "Jason",     "lastName": "Hunter",     "email": "bbbb"   }, {     "firstName": "Elliotte",     "lastName": "Harold",     "email": "cccc"   }],   "authors": [{     "firstName": "Isaac",     "lastName": "Asimov",     "genre": "sciencefiction"   }, {     "firstName": "Tad",     "lastName": "Williams",     "genre": "fantasy"   }, {     "firstName": "Frank",     "lastName": "Peretti",     "genre": "christianfiction"   }],   "musicians": [{     "firstName": "Eric",     "lastName": "Clapton",     "instrument": "guitar"   }, {     "firstName": "Sergei",     "lastName": "Rachmaninoff",     "instrument": "piano"   }] }'); 

那一般我們遇到這樣來存儲JSON格式的話,只能把這條記錄取出來交個應用程序,有應用程序來解析。

現在到了MySQL5.7,我們重新修改下表結構:

ALTER TABLE json_test MODIFY person_desc json; 

先看看插入的這行JSON數據有哪些KEY:

mysql> SELECT id,json_keys(person_desc) as "keys" FROM json_test/G *************************** 1. row ***************************  id: 1 keys: ["authors", "musicians", "programmers"]  row in set (0.00 sec) 

我們可以看到,里面有三個KEY,分別為authors,musicians,programmers。那現在找一個KEY把對應的值拿出來:

mysql> SELECT json_extract(AUTHORS,'$.lastName[0]') AS 'name', AUTHORS FROM   -> (   -> SELECT id,json_extract(person_desc,'$.authors[0][0]') AS "authors" FROM json_test   -> UNION ALL   -> SELECT id,json_extract(person_desc,'$.authors[1][0]') AS "authors" FROM json_test   -> UNION ALL   -> SELECT id,json_extract(person_desc,'$.authors[2][0]') AS "authors" FROM json_test   -> ) AS T1   -> ORDER BY NAME DESC/G *************************** 1. row ***************************   name: "Williams" AUTHORS: {"genre": "fantasy", "lastName": "Williams", "firstName": "Tad"} *************************** 2. row ***************************   name: "Peretti" AUTHORS: {"genre": "christianfiction", "lastName": "Peretti", "firstName": "Frank"} *************************** 3. row ***************************   name: "Asimov" AUTHORS: {"genre": "sciencefiction", "lastName": "Asimov", "firstName": "Isaac"} 3 rows in set (0.00 sec) 

現在來把詳細的值羅列出來:

mysql> SELECT   -> json_extract(AUTHORS,'$.firstName[0]') AS "firstname",   -> json_extract(AUTHORS,'$.lastName[0]') AS "lastname",   -> json_extract(AUTHORS,'$.genre[0]') AS "genre"   -> FROM   -> (   -> SELECT id,json_extract(person_desc,'$.authors[0]') AS "authors" FROM json _test   -> ) AS T/G *************************** 1. row *************************** firstname: "Isaac"  lastname: "Asimov"   genre: "sciencefiction"  row in set (0.00 sec) 

我們進一步來演示把authors 這個KEY對應的所有對象刪掉。

mysql> UPDATE json_test   -> SET person_desc = json_remove(person_desc,'$.authors')/G Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0 

查找下對應的KEY,發現已經被刪除掉了。

mysql> SELECT json_contains_path(person_desc,'all','$.authors') as authors_exist s FROM json_test/G *************************** 1. row *************************** authors_exists: 0  row in set (0.00 sec) 

總結下, 雖然MySQL5.7 開始支持JSON數據類型,但是我建議如果要使用的話,最好是把這樣的值取出來,然后在應用程序段來計算,畢竟數據庫是用來處理簡單數據的。

總結

以上所述是小編給大家介紹的MySQL5.7 JSON類型使用詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色午夜这里只有精品| 色狠狠久久aa北条麻妃| 欧美激情综合色| 一区二区三区四区视频| 欧美激情第一页xxx| 欧美国产第二页| 97成人精品区在线播放| 欧美午夜丰满在线18影院| 日韩免费在线免费观看| 日韩精品免费在线| 色综合天天综合网国产成人网| 久久久视频精品| 亚洲美女av在线| 久久不射热爱视频精品| 国外日韩电影在线观看| 国产精品黄视频| 欧美精品video| 777国产偷窥盗摄精品视频| 91在线视频免费| 国产精品偷伦一区二区| 亚洲男人av在线| 另类美女黄大片| 在线播放国产一区二区三区| 国产精品99久久久久久www| 亚洲一区二区三区sesese| 色悠悠久久88| 亚洲国产小视频| 国产精品视频精品视频| 夜夜狂射影院欧美极品| 成人中文字幕+乱码+中文字幕| 欧美日韩国产综合视频在线观看中文| 日本精品视频在线| 亚洲第一精品夜夜躁人人躁| 亚洲欧美日韩另类| 国产97在线亚洲| 国产亚洲精品一区二555| 亚洲综合日韩中文字幕v在线| 久久久噜噜噜久久久| 亚洲国产精品嫩草影院久久| 成人黄色免费看| 国产成人精品优优av| 日韩精品免费视频| 久久久久久久久久久人体| 欧美日本在线视频中文字字幕| 国产精品日韩久久久久| 色小说视频一区| 日韩不卡在线观看| www.日韩免费| 亚洲午夜精品久久久久久久久久久久| 亚洲欧洲成视频免费观看| 色偷偷噜噜噜亚洲男人的天堂| 国产一区二区三区四区福利| 成人久久久久久久| 国产婷婷97碰碰久久人人蜜臀| 美女久久久久久久久久久| 欧美大片在线看| 精品国产一区二区三区在线观看| 日韩的一区二区| 久久久精品久久| 欧美性做爰毛片| 在线午夜精品自拍| 欧美精品www| 亲爱的老师9免费观看全集电视剧| 91精品国产高清久久久久久久久| 欧美猛少妇色xxxxx| www.欧美三级电影.com| 亚洲一区二区三区成人在线视频精品| 亚洲天堂久久av| 国产欧美一区二区白浆黑人| 成人在线观看视频网站| 亚洲精品日产aⅴ| 久久久久www| 国产亚洲欧美aaaa| 欧美猛交ⅹxxx乱大交视频| www.久久色.com| 亚洲精品成a人在线观看| 午夜精品久久久久久99热软件| 国产精品视频在线观看| 伦伦影院午夜日韩欧美限制| 九九热99久久久国产盗摄| 欧美在线中文字幕| 亚洲精品mp4| 久久久久久网址| 精品国产一区二区三区久久| 欧美日韩成人在线视频| 国产在线精品成人一区二区三区| 欧美激情精品久久久久久黑人| 亚洲国产成人爱av在线播放| 欧美一区三区三区高中清蜜桃| 亚洲福利视频在线| 色综合伊人色综合网站| 超碰97人人做人人爱少妇| 97视频人免费观看| 欧美激情一级精品国产| 国产99视频在线观看| 国产欧美精品va在线观看| 国产午夜精品全部视频播放| 欧美黄色小视频| 伊人久久久久久久久久久久久| 国产mv免费观看入口亚洲| 欧美日韩亚洲91| 精品国产乱码久久久久久婷婷| 日韩亚洲欧美成人| 色av吧综合网| 日韩欧美一区二区三区久久| 亚洲视频在线观看视频| 亚洲天堂视频在线观看| 午夜精品视频在线| 欧美高清在线视频观看不卡| 亚洲欧美日韩一区二区三区在线| 欧美激情视频播放| 欧美国产激情18| 国产亚洲精品久久久久久| 亚洲精品中文字幕有码专区| 欧美日韩国产黄| 亚洲乱码国产乱码精品精天堂| 一本一道久久a久久精品逆3p| 91亚洲精品在线观看| 欧美激情视频网| 免费91麻豆精品国产自产在线观看| 亚洲欧洲日本专区| 日韩在线精品视频| 久热精品视频在线观看一区| 欧美黑人xxxx| 日韩av在线影视| 欧美激情综合亚洲一二区| 亚洲黄色av女优在线观看| 色老头一区二区三区| 日韩黄在线观看| 亚洲深夜福利网站| 亚洲国产欧美一区| 2019精品视频| 亚洲美腿欧美激情另类| 精品国产一区二区三区久久久狼| 在线精品91av| 日韩精品免费在线观看| 亚洲成人免费在线视频| 一本色道久久88精品综合| 日产精品久久久一区二区福利| 欧美日韩在线第一页| 亚洲精品视频久久| 日韩成人网免费视频| 91亚洲精华国产精华| 亚洲一区二区日本| 国产精品www色诱视频| 欧美激情在线有限公司| 国产精品亚洲网站| 欧美激情一级精品国产| 成人激情在线播放| 91久久综合亚洲鲁鲁五月天| 国产亚洲美女精品久久久| 欧美巨大黑人极品精男| 久久亚洲精品毛片| 欧美成人精品一区二区| 亚洲成人1234| 国产精品成人一区二区三区吃奶| 亚洲欧美国产一本综合首页| 国产精品亚洲第一区| 国产丝袜一区二区| 色七七影院综合| 欧美激情视频免费观看| 成人激情视频免费在线| 久久大大胆人体| 国产精品自产拍高潮在线观看|