如何使用Python3.4連接MySQL


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/ 

代碼如下: 

Python代碼   收藏代碼
  1. __author__ = 'qindongliang'  
  2. #導入pymysql的包  
  3. import pymysql  
  4. try:  
  5. #獲取一個數據庫連接,注意如果是UTF-8類型的,需要制定數據庫  
  6.     conn=pymysql.connect(host='localhost',user='root',passwd='qin',db='person',port=3306,charset='utf8')  
  7.     cur=conn.cursor()#獲取一個游標  
  8.     cur.execute('select * from person')  
  9.     data=cur.fetchall()  
  10.     for d in data :  
  11.         #注意int類型需要使用str函數轉義  
  12.      print("ID: "+str(d[0])+'  名字: '+d[1]+"  性別: "+d[2])  
  13.   
  14.     cur.close()#關閉游標  
  15.     conn.close()#釋放數據庫資源  
  16. except  Exception :print("發生異常")  

結果如下: 
Java代碼   收藏代碼
  1. D:\python\python.exe D:/pythonide/pythonprojectworkspace/python/mysql.py  
  2. ID: 1  名字: 秦天  性別: 男  
  3. ID: 2  名字: 王晶  性別: 女  
  4.   
  5. 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列值,如果是中文則需要處理編碼

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM