天天看點

Python操作MYSQL資料庫

一、安裝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條.

五、參考資料