0.說(shuō)明
成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的興慶網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!因?yàn)槌鲇趥€(gè)人項(xiàng)目的需要,獲取到的數(shù)據(jù)都是json類(lèi)型的,并且都要存入MySQL數(shù)據(jù)庫(kù)中,因?yàn)閖son類(lèi)型數(shù)據(jù)不像一般的文本數(shù)據(jù),所以在存入MySQL時(shí)需要注意的問(wèn)題很多。
在網(wǎng)上找了很多方法,整理了一下比較實(shí)用可靠的,總結(jié)下來(lái)就是下面的過(guò)程:
MySQL表中需要保證存儲(chǔ)json數(shù)據(jù)的列類(lèi)型為BLOB;
使用sql語(yǔ)句時(shí),使用MySQLdb.excape_string函數(shù)來(lái)對(duì)json數(shù)據(jù)進(jìn)行轉(zhuǎn)義;
查詢(xún)數(shù)據(jù)時(shí),將結(jié)果使用json.loads就能夠得到原來(lái)的Python數(shù)據(jù)類(lèi)型;
下面就來(lái)實(shí)戰(zhàn)一下,實(shí)際上,在我的需求中,我需要將Python中的字典存入MySQL,所以只能先將其轉(zhuǎn)換為json來(lái)處理。
1.實(shí)戰(zhàn)存儲(chǔ)json數(shù)據(jù)到MySQL中
(1)數(shù)據(jù)存儲(chǔ)
1.創(chuàng)建能存儲(chǔ)json數(shù)據(jù)類(lèi)型的數(shù)據(jù)庫(kù)表
2.使用Python生成json數(shù)據(jù)類(lèi)型
3.使用MySQLdb連接MySQL數(shù)據(jù)庫(kù)
4.寫(xiě)原生sql語(yǔ)句
5.使用MySQLdb方法轉(zhuǎn)義json數(shù)據(jù)
6.執(zhí)行sql語(yǔ)句
(2)數(shù)據(jù)查詢(xún)
上面的操作完成之后,我們已經(jīng)成功將json的數(shù)據(jù)存取到MySQL中,關(guān)鍵是能不能將該數(shù)據(jù)取出來(lái),并且最后還原成Python的字典類(lèi)型類(lèi)型。
1.先在MySQL中查詢(xún)存儲(chǔ)的數(shù)據(jù)
2.在Python交互器中查詢(xún)數(shù)據(jù)
3.使用json.loads解析json數(shù)據(jù)
可以看到,最開(kāi)始我們使用Pythonn創(chuàng)建了一個(gè)字典類(lèi)型的數(shù)據(jù),之后將其轉(zhuǎn)換為json數(shù)據(jù)類(lèi)型,以便于存入MySQL中,在這個(gè)過(guò)程中需要使用MySQL.escape_string方法來(lái)對(duì)json數(shù)據(jù)進(jìn)行轉(zhuǎn)義,最后查詢(xún)數(shù)據(jù)時(shí),我們使用json.loads方法來(lái)解析json數(shù)據(jù),從而得到我們最開(kāi)始存儲(chǔ)的Python字典類(lèi)型數(shù)據(jù)。
2.在實(shí)際當(dāng)中的應(yīng)用
顯然,如果在使用Python的過(guò)程中,需要將字典或其它數(shù)據(jù)類(lèi)型的數(shù)據(jù)存入到MySQL中時(shí),先將其轉(zhuǎn)換為json類(lèi)型數(shù)據(jù),再使用上面的方法,就非常簡(jiǎn)便了。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。