用pymysql代替MySQLdb
Posted 小苹果的苹果树
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用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我也不会写)。所以,就简单地讲这么点了,大家上手试试就会用了。
(啊~~~好糊弄人的一篇博客啊~~~)
以上是关于用pymysql代替MySQLdb的主要内容,如果未能解决你的问题,请参考以下文章
稍微记录下Django2.2使用MariaDB和MySQL遇到的坑