一、安裝mysqldb
mysqldb is an interface to the popular mysql database server for python. the design goals are
1. compliance with python database api version 2.0(相容python 資料庫api2.0接口)
2. thread-safety(線程安全)
3. thread-friendliness (threads will not block each other) (線程友好,線程間不會互相阻塞)
下載下傳位址:(可以根據需要下載下傳window 或linux版本的mysqldb)
https://pypi.python.org/pypi/mysql-python/1.2.5
如果是windows的版本,直接運作,一路next安裝即可。
如果是linux版本,則安裝步驟如下: 詳細可參與安裝包中的install檔案
$ tar xfz mysql-python-1.2.1.tar.gz
$ cd mysql-python-1.2.1
$ # edit site.cfg if necessary
$ python setup.py build
$ sudo python setup.py install # or su first
二、代碼示例:
三、解決入庫或顯示中文亂碼的問題
1.設定python預設的編碼
在d:\program\python27\lib\site-packages目錄下,建立sitecustomize.py檔案,内容如下:
python啟動時,會自動加載sys子產品并設定預設編碼為utf-8
2.設定mysql的資料庫編碼為utf8
将default_character-set、character-set-server的值設定為utf8
3.将py檔案的編碼設定為utf-8,并用utf-8進行儲存
# encoding=utf-8
4.建立mysql資料庫連接配接時,增加charset參數 conn=dbi.connect(host="172.168.29.250",user='root',passwd='root',db='test',port=3306,charset='utf8')
四、常用函數
這個連接配接對象也提供了對事務操作的支援,标準的方法
commit() 送出
rollback() 復原
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條.
五、參考資料