如何使用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列值,如果是中文则需要处理编码

 

 

 
posted @ 2016-12-13 10:25  cnzy  阅读(6341)  评论(0编辑  收藏  举报