Python2和3访问MySQL使用的模块不同,2使用MySQLdb模块,而3使用pymysql模块,其他相差不大。
Python3连接MySQL数据库代码:
import pymysql
# 创建一个连接对象,再使用创建游标
con = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='1234', db='mysql')
cursor = con.cursor()
# 执行一个SQL语句
sql = "select * from user"
cursor.execute(sql)
# 从游标中取出所有记录放到一个序列中并关闭游标
result = cursor.fetchall()
print(result)
cursor.close()
Python2连接 MySQL数据库代码:
import MySQLdb
con = MySQLdb.connect(host='127.0.0.1', port=3306, user='root', passwd='1234', db='mysql')
cursor = con.cursor()
sql = "select * from user"
cursor.execute(sql)
result = cursor.fetchall()
print(result)
cursor.close()
删从上面来看,代码其实是一样的,甚至使用的函数也是一样的。区别只是使用的模块不同。如果一套系统即有2,又有3,要写兼容两者的代码,只需要这样:
import pymysql
# 添加下面两句,那么3可以向下兼容2
pymysql.install_as_MySQLdb()
import MySQLdb
# 创建一个连接对象,再使用创建游标
con = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='1234', db='mysql')
cursor = con.cursor()
# 执行一个SQL语句
sql = "select * from user"
cursor.execute(sql)
# 从游标中取出所有记录放到一个序列中并关闭游标
result = cursor.fetchall()
print(result)
cursor.close()