python3發布以來,獲取了廣大程序員們的差評,說不穩定,又是不兼容什么的,不過差評歸差評,python3既然已經發布,肯定是個趨勢,但在python3.4里面,使用原來python2.7的mysqldb已經不能連接mysql數據庫了,比較令人糾結,不過我們可以使用pymysql,來完成連接mysql的重任,步驟如下:
| 序號 | 描述 |
| 1 | 去github上下載pymysql的安裝包pymysql |
| 2 | 解壓到某個盤符下 |
| 3 | 打開cmd窗口(win環境下),進入pymysql的根目錄下執行命令,python setup.py install |
| 4 | 在程序里,導入pymysql |
| 5 | 開始連接數據庫 |
數據庫操作的API文檔連接:http://legacy.python.org/dev/peps/pep-0249/
代碼如下:
- __author__ = 'qindongliang'
- #導入pymysql的包
- import pymysql
- try:
- #獲取一個數據庫連接,注意如果是UTF-8類型的,需要制定數據庫
- conn=pymysql.connect(host='localhost',user='root',passwd='qin',db='person',port=3306,charset='utf8')
- cur=conn.cursor()#獲取一個游標
- cur.execute('select * from person')
- data=cur.fetchall()
- for d in data :
- #注意int類型需要使用str函數轉義
- print("ID: "+str(d[0])+' 名字: '+d[1]+" 性別: "+d[2])
- cur.close()#關閉游標
- conn.close()#釋放數據庫資源
- except Exception :print("發生異常")
結果如下:
- D:\python\python.exe D:/pythonide/pythonprojectworkspace/python/mysql.py
- ID: 1 名字: 秦天 性別: 男
- ID: 2 名字: 王晶 性別: 女
- Process finished with exit code 0
原文 http://qindongliang1922.iteye.com/blog/2096512
補充說明:
mysqldb作為python連接mysql數據庫的工具,但是mysqldb目前支撐的版本較低,安裝失敗。所以才嘗試pymysql,這個比較簡單易用
軟件下載地址:
python3.2.5:https://www.python.org/ftp/python/3.2.5/python-3.2.5.msi
pymysql3.0.5:https://pypi.python.org/packages/source/P/PyMySQL3/PyMySQL3-0.5.tar.gz
mysql:http://www.phpstudy.net/phpstudy/phpStudyLite.zip(為了方便安裝,我這里選擇phpstudy)
1、python安裝目錄設定為d:/python32
2、pymysql安裝方法為:解壓下載的文件,在cmd中運行: python setup.py install。
檢驗安裝安裝是否成功的方法:import pymysql 。 如果不報錯 說明安裝成功。
3、mysql安裝目錄為D:/phpStudy/MySQL。為避免更多配置問題,可在啟動phpstudy后,將其設為系統服務
4、基本操作:
(1)導入pymysql: import pymysql
(2)連接數據庫: conn=pymysql.connect(host='localhost',user='root',passwd='root',db='ere',charset='utf8') 務必注意各等號前面的內容!charset參數可避免中文亂碼
(3)獲取操作游標:cur=conn.cursor()
(4)執行sql語句,插入記錄:sta=cur.execute("insert 語句") 執行成功后sta值為1。更新、刪除語句與此類似。
(5)執行sql語句,查詢記錄:cur.execute("select語句") 執行成功后cur變量中保存了查詢結果記錄集,然后再用循環打印結果:
for each in cur:
print(each[1].decode('utf-8')) # each[1] 表示當前游標所在行的的第2列值,如果是中文則需要處理編碼

