本文詳細講述了Python使用MySQLdb for Python操作數據庫的方法,分享給大家供大家參考。具體如下:
一般來說網站就是要和數據庫進行交互,否則什么都不用做了。今天我們就來分析一個叫MySQLdb的庫,使用這個用來和MySQL數據庫進行交互.
大家可以從這里獲得這個庫:
http://sourceforge.net/projects/mysql-python
如果你不確定你的python環境里有沒有這個庫,那就打開python shell,輸入 import MySQLdb,如果返回錯誤信息,那就表示你的機器上沒有,趕緊去下載一個.我的機器是win xp,所以我下載了win環境下的exe那個,直接雙擊完成安裝.
在介紹具體的操作前,我們先來說說一個程序怎么和數據庫進行交互:
1.和數據庫建立連接
2.執行sql語句,接收返回值
3.關閉數據庫連接
使用MySQLdb也要遵循上面的幾步.讓我們一步步的進行.
一、引入MySQLdb庫:
代碼如下:import MySQLdb
二、和數據庫建立連接:
代碼如下:conn=MySQLdb.connect(host=”localhost”,user=”root”,passwd=”sa”,db=”mytable”)
提供的connect方法用來和數據庫建立連接,接收數個參數,返回連接對象.
比較常用的參數包括:
host:數據庫主機名.默認是用本地主機.
user:數據庫登陸名.默認是當前用戶.
passwd:數據庫登陸的秘密.默認為空.
db:要使用的數據庫名.沒有默認值.
port:MySQL服務使用的TCP端口.默認是3306.
更多關于參數的信息可以查這里:
http://mysql-python.sourceforge.net/MySQLdb.html
然后,這個連接對象也提供了對事務操作的支持,標準的方法:
commit() 提交
rollback() 回滾
三、執行sql語句和接收返回值:
代碼如下:cursor=conn.cursor()
n=cursor.execute(sql,param)
首先,我們用使用連接對象獲得一個cursor對象,接下來,我們會使用cursor提供的方法來進行工作.這些方法包括兩大類:1.執行命令,2.接收返回值
cursor用來執行命令的方法:
callproc(self, procname, args):用來執行存儲過程,接收的參數為存儲過程名和參數列表,返回值為受影響的行數
execute(self, query, args):執行單條sql語句,接收的參數為sql語句本身和使用的參數列表,返回值為受影響的行數
executemany(self, query, args):執行單挑sql語句,但是重復執行參數列表里的參數,返回值為受影響的行數
nextset(self):移動到下一個結果集
cursor用來接收返回值的方法:
fetchall(self):接收全部的返回結果行.
fetchmany(self, size=None):接收size條返回結果行.如果size的值大于返回的結果行的數量,則會返回cursor.arraysize條數據.
fetchone(self):返回一條結果行.
scroll(self, value, mode='relative'):移動指針到某一行.如果mode='relative',則表示從當前所在行移動value條,如果mode='absolute',則表示從結果集的第一行移動value條.
新聞熱點
疑難解答