python讀取mysql,python怎么讀取mysql數(shù)據(jù)(3步實(shí)現(xiàn)用Python讀取MySQL中的數(shù)據(jù))
最佳答案 問答題庫1358位專家為你答疑解惑
關(guān)于【python讀取mysql】,python怎么讀取mysql數(shù)據(jù),今天涌涌小編給您分享一下,如果對您有所幫助別忘了關(guān)注本站哦。
內(nèi)容導(dǎo)航:1、python讀取mysql:「Python數(shù)據(jù)分析」3步實(shí)現(xiàn)用Python讀取MySQL中的數(shù)據(jù)2、python讀取mysql,python怎么讀取mysql數(shù)據(jù)1、python讀取mysql:「Python數(shù)據(jù)分析」3步實(shí)現(xiàn)用Python讀取MySQL中的數(shù)據(jù)
利用Python從MySQL中讀取數(shù)據(jù)需要以下3步。
2、python讀取mysql,python怎么讀取mysql數(shù)據(jù)
本文的重點(diǎn),就是教會(huì)大家,如何用Python來操作MySQL數(shù)據(jù)庫。
1. 通用步驟其實(shí),這里有一個(gè)通用步驟,都是寫死了的,大家照做就行。
# 1. 導(dǎo)入相關(guān)庫
import pymysql
# 2. 鏈接MySQL服務(wù)器
db = pymysql.connect(host='localhost' , user='root' , password='******' , port=3306 ,db='spiders' , charset='utf8')
# 3. 創(chuàng)建一個(gè)cursor游標(biāo)對象
cursor = db.cursor
# 4. 在這一步寫你的sql語句
sql = 'select version'
# 5. 執(zhí)行sql語句
cursor.execute(sql)
# 6. 斷開連接
db.close
可以看出,整個(gè)過程就是第四步那里不同。歸根到底,其實(shí)就是寫sql。
2. 需要特別說明的知識(shí)點(diǎn)Ⅰ 各參數(shù)說明
db = pymysql.connect(host='localhost' , user='root' , password='******' , port=3306 ,db='spiders' , charset='utf8')
這一行代碼很長,里面涉及到好幾個(gè)參數(shù),這里為大家一一介紹如下:
參數(shù) 1 :mysql 服務(wù)器所在的主機(jī) IP
參數(shù) 2 :用戶名;
參數(shù) 3 :密碼;
參數(shù) 4 :連接的 mysql 主機(jī)的端口,默認(rèn)是 3306;
參數(shù) 5 :連接的數(shù)據(jù)庫名;
參數(shù) 6 :通信采用的編碼方式,默認(rèn)是'gb2312',要求與數(shù)據(jù)庫創(chuàng)建時(shí)指定的編碼一致,否則中文會(huì)亂碼;
Ⅱ cursor游標(biāo)對象
① 創(chuàng)建一個(gè)數(shù)據(jù)表
import pymysql
② 插入數(shù)據(jù) import pymysql db = pymysql.connect(host='192.168.3.47' , user='root',password='******' , port=3306 , db='spiders' , charset='utf8') cursor = db.cursor # 插入數(shù)據(jù) sql = 'insert into students(name,age) values(%s,%s)' try: cursor.execute(sql,('孫悟空',100000)) db.commit except:print("插入失敗") db.rollback db.close 注 1:插入數(shù)據(jù)一定要用 try…except…語句,因?yàn)槿f一沒插入成功,其余代碼都無法執(zhí)行。 注 2:import pymysql,此模塊是默認(rèn)開啟mysql的事務(wù)功能的,因此,進(jìn)行“增”、“刪”、“改”的時(shí)候,一定要使用db.commit提交事務(wù),否則就看不見所插入的數(shù)據(jù)。 import pymysql db = pymysql.connect(host='192.168.3.47' , user='root',password='******' , port=3306 , db='spiders' , charset='utf8') cursor = db.cursor # 更新數(shù)據(jù) sql = 'update students set age =%s where name=%s' try: cursor.execute(sql,(30,"郭衛(wèi)華")) db.commit except: print("插入失敗") db.rollback db.close import pymysql db = pymysql.connect(host='192.168.3.47' , user='root',password='******' , port=3306 , db='spiders' , charset='utf8') cursor = db.cursor # 刪除數(shù)據(jù) sql = 'delete from students where age=100000' try: cursor.execute(sql) db.commit except: print("插入失敗") db.rollback db.close fetchone功能:獲取下一個(gè)查詢結(jié)果集,結(jié)果集是一個(gè)對象。 fetchall功能:接收全部返回的行。 import pymysql db = pymysql.connect(host='192.168.3.47' , user='root',password='******' , port=3306 , db='spiders' , charset='utf8') cursor = db.cursor # 查詢數(shù)據(jù) sql = 'select * from students where age>60' try: cursor.execute(sql) reslist = cursor.fetchall for row in reslist: print(“%d--%d” %(row[0],row[1],… row[n])) except: print("插入失敗") db.rollback db.close # 注:把下面類寫在 studentsql 文件中 import pymysql class StudentsSql: def __init__(self,host,user,port,dbname,charset): self.host = host self.user = user self.port = port self.dbname = dbname self.charset = charset def connet(sef): self.db = pymysql.connect(self.host, self.user, self.port, self.dbname, self.charset) def close(self): self.cursor.close self.db.close def get_one(self,sql): res = None try: self.connect self.cursor.execute(sql) res = self.cursor.fetchone self.close except: print(“查詢失敗”) return res def get_all(self,sql): res = None try: self.connect self.cursor.execute(sql) res = self.cursor.fetchall self.close except: print(“查詢失敗”) return res def inset(self,sql): return self.__edit(sql) def update(self,sql): return self.__edit(sql) def delete(self,sql): return self.__edit(sql) def __edit(self,sql): count = 0 try: self.connect count = self.cursor.execute(sql) self.db.commit self.close except: print(“事務(wù)提交失敗”) self.db.rollback return count 上述類封裝成功,以后只需要調(diào)用即可。 from studentsql import StudentsSql s = StudentsSql(“host='192.168.3.47' , user='root', password='******' , port=3306 , db='spiders' , charset='utf8'”) res = s.get_all('select * from students where age>60') for row in res: print(“%d--%d” %(row[0],row[1],… row[n])) 萬水千山總是情,點(diǎn)個(gè) 本文關(guān)鍵詞:Python讀取TXT文件,python讀取TXT文件,python讀取json文件,Python讀取csv文件,Python讀取csv。這就是關(guān)于《python讀取mysql,python怎么讀取mysql數(shù)據(jù)(3步實(shí)現(xiàn)用Python讀取MySQL中的數(shù)據(jù))》的所有內(nèi)容,希望對您能有所幫助!更多的知識(shí)請繼續(xù)關(guān)注《犇涌向乾》百科知識(shí)網(wǎng)站:!③ 更新數(shù)據(jù)
③ 刪除操作
④ 查詢操作
99%的人還看了
相似問題
- 研究人員強(qiáng)調(diào)共享人腦數(shù)據(jù)的好處 有研究人員指出
- 從復(fù)堪輿風(fēng)水?dāng)?shù)據(jù)網(wǎng)?三僚風(fēng)水網(wǎng)站
- 浙江省有多少人口,浙江省各市總?cè)丝冢ㄈ齻€(gè)維度看剛發(fā)布的浙江人口數(shù)據(jù))
- 數(shù)據(jù)傳輸方式有哪兩種
- 寶可夢各項(xiàng)屬性數(shù)值,寶可夢八大世代數(shù)據(jù)大揭秘
- 壓歲錢如何理財(cái) 壓歲錢的理財(cái)方式所需數(shù)據(jù)
- 元旦出游文案 元旦出游數(shù)據(jù)(有什么征兆預(yù)兆和象征寓意)
- oppo手機(jī)格式化了怎么恢復(fù)數(shù)據(jù)
- 蘋果數(shù)據(jù)線怎么連接電腦
- vivo一鍵換機(jī)后舊手機(jī)還有數(shù)據(jù)嗎
猜你感興趣
版權(quán)申明
本文" python讀取mysql,python怎么讀取mysql數(shù)據(jù)(3步實(shí)現(xiàn)用Python讀取MySQL中的數(shù)據(jù))":http://eshow365.cn/3-9297-0.html 內(nèi)容來自互聯(lián)網(wǎng),請自行判斷內(nèi)容的正確性。如有侵權(quán)請聯(lián)系我們,立即刪除!