专栏首页codersamPython每天五分钟-操作MySQL(PyMySQL)

Python每天五分钟-操作MySQL(PyMySQL)

了解了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包。

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

创建数据表

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()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python每天五分钟-操作MySQL(mysql.connector)

    MySQL是现今最流行的数据库之一,接下来使用Python对MySQL进行curd操作。

    用户2475223
  • Git使用技巧(一)-- 保存用户名和密码

    用户2475223
  • 服务器使用秘钥进行登录并禁止root用户使用密码登录

    id_rsa.pub 是私钥 id_rsa 是公钥 authorized_keys 是sshd服务配置的文件名所以将私钥内容输出进来

    用户2475223
  • Flask中的数据连接池

    为每个线程创建一个连接,线程即使调用了close方法,也不会关闭,只是把连接重新放到连接池,供自己线程再次使用。当线程终止时,连接自动关闭

    小小咸鱼YwY
  • Windows7下Python3安装my

    Connector/python安装:     命令窗口(cmd)使用命令如下:easy_install pymysql3      在python3之后,M...

    py3study
  • Python_查看sqlite3表结构,

    查看表结构:cursor.execute('PRAGMA table_info(表名)')

    py3study
  • Python操作mysql之模块pymysql

    pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。

    超蛋lhy
  • Python中MySQLdb的conne

    MySQLdb模块是python连接mysql数据库的一个模块,在操作mysql数据库是经常使用,在连接数据库时connect是最常用的一种方法,这个方法有好多...

    py3study
  • TKE操作指南 - 创建TKE CVM容器集群(八)

    现在跳转到了私有网络创建界面,由于容器集群网络只支持私有网络,点击现在新建(容器集群网络只支持私有网络),输出私有网络名称(fengliang-vpc),和子网...

    亮哥说TKE
  • 影响机器视觉检测的场景因素有哪些?

    在比利时的一间温室中,有台小型机器人,它穿过生长在支架托盘上的一排排草莓,利用机器视觉寻找成熟完好的果实,然后用 3D 打印的爪子把每一颗果实轻轻摘下,放在篮子...

    小白学视觉

扫码关注云+社区

领取腾讯云代金券