使用PyMySQL操作MySQL数据库
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用PyMySQL操作MySQL数据库,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2351字,纯文字阅读大概需要4分钟。
内容图文
![使用PyMySQL操作MySQL数据库](/upload/InfoBanner/zyjiaocheng/1189/ae6b36f8e06e4d9783cdb24a6f4ea092.jpg)
安装
pip3 install PyMySQL
或者python3 -m pip install PyMySQL
连接MySQL数据库
注意:连接之前先确保你已经安装MySQL数据库
MYSQL_CONFIG = {
‘host‘: ‘localhost‘, # IP地址
‘port‘: 3306, # 端口
‘user‘: ‘root‘, # 用户名
‘passwd‘: ‘123456‘, # 密码
‘db‘: ‘myclass‘, # 数据库
‘charset‘: ‘utf8‘, # 编码
}
conn = pymysql.connect(**MYSQL_CONFIG) # 数据库连接
cur = conn.cursor() # 游标对象
MYSQL_CONFIG中的指标为连接数据库的重要参数,参数的相关说明请看以上注释,相关参数的值请换成你自己的。
本人习惯将参数以字典的方式存储,并在连接时用两个*号来对字典进行解包(有兴趣的小伙伴可以自行搜索python容器解包的相关知识),这样做的好处就是可以抽取关键数据,并将数据放在可配置化脚本中。
当然,你也可以用关键字参数的形式把数据写到connect()方法中,如pymysql.connect(host = ‘localhost‘, port = 3306, ...)
创建连接后我们可以得到一个数据库连接对象conn和游标对象cur
执行SQL查询语句
成功连接数据库后,我们就可以执行相关的SQL语句来增删改查我们的数据了。
myclass数据库中存在student表,我们执行SQL语句来查询student表中的数据
数据表如下
name | age | height |
---|---|---|
Mary | 18 | 155.0 |
Tony | 20 | 175.0 |
Lisa | 19 | 165.5 |
执行SQL语句需要用到cur对象中的execute()方法
执行后获取数据的方法主要有以下三种:
· fetchone(): 获取下一个查询结果集,结果集是一个对象,第一次执行取SQL结果集的第一条数据
· fetchmany(n): 获取前n条数据的结果集
· fetchall(): 获取全部的数据结果集
fetchone
sql = "SELECT * FROM student"
n = cur.execute(sql) # 执行后得到数据的条数
for i in range(n):
print(f‘--这是第{i + 1}条数据--‘)
info = cur.fetchone()
print(info)
执行结果如下
--这是第1条数据--
(‘Mary‘, 18, 155.0)
--这是第2条数据--
(‘Tony‘, 20, 175.0)
--这是第3条数据--
(‘Lisa‘, 19, 165.5)
n值是执行查询语句返回的结果条数,fetchone()第一次执行取的是第一条数据,之后执行就是取下一条数据,遍历n就可以取到每一条数据。
fetchmany
sql = "SELECT * FROM student"
n = cur.execute(sql) # 执行后得到数据的条数
info = cur.fetchmany(2) # 取前面两条数据
print(info)
执行结果如下
((‘Mary‘, 18, 155.0), (‘Tony‘, 20, 175.0))
fetchmany()可以取执行结果集的任意条数据,如果取n则返回全部数据的数据集。
fetchall
sql = "SELECT * FROM student"
n = cur.execute(sql) # 执行后得到数据的条数
info = cur.fetchall() # 取所有数据
print(info)
执行结果如下
((‘Mary‘, 18, 155.0), (‘Tony‘, 20, 175.0), (‘Lisa‘, 19, 165.5))
fetchall()就是取执行结果的所有数据的数据集
执行SQL插入语句
上面已经对PyMySQL中SQL的查询方式进行了简单的说明和实现,至于其他的增、删、改操作其实跟上面的查询操作差不多,主要还是使用到cur对象的execute()方法来执行。
但是执行增、删、改操作时需要注意的是,在使用execute()方法执行SQL语句后,还要在后面加一句conn.commit(),用于将事务提交到数据库执行。
如下
sql = "INSERT INTO student VALUES (‘Ben‘, 19, 166.5)"
cur.execute(sql) # 执行
conn.commit() # 提交
执行成功后,可以通过查询方法fatchall查看结果,结果如下
((‘Mary‘, 18, 155.0), (‘Tony‘, 20, 175.0), (‘Lisa‘, 19, 165.5), (‘Ben‘, 19, 166.5))
可以看到最后面多了一条新的数据,说明数据插入成功。
删和改的操作跟插入是一样的,在这里就不做过多演示了,有兴趣的小伙伴可以自己尝试去实现。
务必记得要加上commit()语句哦,否则执行后不会发生任何变化。
关闭数据库
在执行完增、删、改、查操作后,最后一定记得要关闭游标和数据库连接,以避免数据库资源的消耗和产生不同连接之间的冲突。
关闭语句如下
cur.close() # 关闭游标
conn.close() # 关闭数据库连接
原文:https://www.cnblogs.com/blueberry-mint/p/13299579.html
内容总结
以上是互联网集市为您收集整理的使用PyMySQL操作MySQL数据库全部内容,希望文章能够帮你解决使用PyMySQL操作MySQL数据库所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。