MYSQL模塊暫時(shí)還不支持python3.0以上的版本,由于我下載的python是3.0版本的,所以想要連接數(shù)據(jù)庫(kù)只能利用其它的方法。
Python3.x連接MySQL的方案有:oursql, PyMySQL, myconnpy 等,這里主要是安裝pymysql
1.安裝
pymysql安裝:找到python文件夾pip程序的位置打開(kāi)命令窗口:
pip install pymysql3
2.使用
安裝完畢后,數(shù)據(jù)庫(kù)連接的具體步驟如下
引入 API 模塊。
獲取與數(shù)據(jù)庫(kù)的連接。
執(zhí)行SQL語(yǔ)句和存儲(chǔ)過(guò)程。
關(guān)閉數(shù)據(jù)庫(kù)連接。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
import pymysql #查詢(xún) #連接數(shù)據(jù)庫(kù) conn = pymysql.connect(host = '數(shù)據(jù)庫(kù)服務(wù)器名' ,user = '用戶(hù)名' ,passwd = '密碼' ,db = '數(shù)據(jù)庫(kù)名' ,pot = '數(shù)據(jù)路端口號(hào)' ,charset = 'utf8' ) #獲取游標(biāo) cur = conn.cursor() cur.execute( '數(shù)據(jù)庫(kù)查詢(xún)語(yǔ)句' ) #獲取數(shù)據(jù),fetchone獲取一條數(shù)據(jù),fetchall獲取全部數(shù)據(jù) data = cur.fetchall() for d in data: print (d) #關(guān)閉游標(biāo) cur.close() #關(guān)閉數(shù)據(jù)庫(kù) conn.close() #插入、刪除,修改操作 #連接數(shù)據(jù)庫(kù) conn = pymysql.connect(host = '數(shù)據(jù)庫(kù)服務(wù)器名' ,user = '用戶(hù)名' ,passwd = '密碼' ,db = '數(shù)據(jù)庫(kù)名' ,pot = '數(shù)據(jù)路端口號(hào)' ,charset = 'utf8' ) #獲取游標(biāo) cur = conn.cursor() cur.execute( '數(shù)據(jù)庫(kù)插入語(yǔ)句' ) #提交當(dāng)前事務(wù)到數(shù)據(jù)庫(kù) conn.commit() #rowcount:返回?cái)?shù)據(jù)條數(shù)或影響行數(shù) print ( '插入:' ,cur.rowcount, '條數(shù)據(jù)' ) #關(guān)閉游標(biāo) cur.close() #關(guān)閉數(shù)據(jù)庫(kù) conn.close() |
對(duì)數(shù)據(jù)庫(kù)的操作中可以加入try...except語(yǔ)句捕捉錯(cuò)誤,發(fā)生錯(cuò)誤時(shí),可以回滾數(shù)據(jù)庫(kù)操作,回到修改前:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
try : # 執(zhí)行sql語(yǔ)句 cur.execute(sql) # 提交到數(shù)據(jù)庫(kù)執(zhí)行 cur.commit() except : # 發(fā)生錯(cuò)誤時(shí)回滾 cur.rollback() # 關(guān)閉游標(biāo) cur.close() #關(guān)閉數(shù)據(jù)庫(kù) conn.close() |
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:http://www.cnblogs.com/evablogs/p/7650783.html