了解了mysql-connector驱动,再来了解一下PyMySQL。

mysql-connector和PyMySQL的区别

  • mysql-connector:是由MySQL官方提供的拓展,与MySQLDB不兼容,效率慢(在py3.6版本比较快)
  • PyMySQL:兼容Py2版本,比mysql-connector快,纯py编写(还是慢)
  • MySQLClient:Django推荐的库。 原始MySQLdb的友好分支,希望有一天合并回来最快的实现,因为它是基于C的。 与MySQLdb最兼容,因为它是一个fork Debian和Ubuntu使用它来提供python-mysqldb和python3-mysqldb包。

p1

综上所述,选择库的时候要根据公司的开发环境来做取舍,没有最好的只有更适合当前项目的。

创建数据表

import pymysql
# 创建数据库连接 数据库ip,用户名,密码,数据库名
db = pymysql.connect('localhost', 'root', 'root', 'pytest')
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# print(cursor)
cursor.execute("DROP TABLE IF EXISTS user")
cursor.execute("""CREATE TABLE user (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` int(10) NOT NULL DEFAULT 0,
`sex` tinyint(1) NOT NULL DEFAULT 0,
`age` smallint(5) NOT NULL DEFAULT 0,
PRIMARY KEY (`id`)
)ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8; """)
# 关闭连接
db.close()

数据操作

import pymysql
# 创建数据库连接 数据库ip,用户名,密码,数据库名
db = pymysql.connect('localhost', 'root', 'root', 'pytest')
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
sql = "INSERT INTO `user` (`name`, `sex`, `age`) VALUES ('li', '0', '12')"
cursor.execute(sql) # 与mysql.connecter 相同的是 pymysql也会自动创建事物提交。  cursor.executemany(sql, data)同样是插入多条数据
db.commit() # 提交事物
print(cursor.lastrowid) # 获取刚刚插入的主键id
# 关闭连接
db.close()
最后修改:2020 年 08 月 13 日 10 : 59 AM
如果觉得我的文章对你有用,请随意赞赏