用pymysql代替MySQLdb

在我刚开始学python的时候,用的是python2.7,那时候连接mysql用的库是MySQLdb(很诡异的大小写,初学者经常因为记不住大小写导致“No module named xxx”)。燃鹅,在python3中,这个库已经不能继续使用了。怎么办呢?在python3中,可以使用pymysql或mysqlclient。今天我要介绍的就是pymysql。
如果有MySQLdb的基础,其实pymysql的使用也是非常类似的,同样是这么几个步骤:
连接数据库→创建游标→执行SQL→fetch获得数据,进行业务处理→关闭游标→commit→关闭数据库连接

可使用的函数也是非常像。

 
连接数据库:
conn = pymysql.connect(host=host, user=user, passwd=password, db=db)

 

创建游标:
cur = conn.cursor()

 

执行SQL:
cur.execute("INSERT INTO table VALUE something")
cur.execute("SELECT * FROM table")

 

获取数据:
data = cur.fetchone()
data = cur.fetchmany()
data = cur.fetchall()
# data是个生成器

 

关闭游标:
cur.close()

 

如果SQL是insert之类的DML语句,要记得commit:
conn.commit()

 

关闭数据库连接
conn.close()

 

看,就是这么简单。至于建库、存储过程、事务之类的,我的建议是减少使用,SQL就写最基本的SQL,复杂的操作都在程序中执行(咳咳,其实复杂的SQL我也不会写)。所以,就简单地讲这么点了,大家上手试试就会用了。
(啊~~~好糊弄人的一篇博客啊~~~)
posted @ 2017-07-06 17:37  _小苹果  阅读(14980)  评论(0编辑  收藏  举报