python中的mysql操作
1|0一. 数据库在自动化测试中的应用
存测试数据
有的时候大批量的数据,我们需要存到数据库中,在测试的时候才能用到,测试的时候就从数据库中读取出来。这点是非常重要的!
存测试结果
2|0二. python中的数据库之必备前提条件
2|11. 安装:pyMysql
python2中使用mysqldb,python3中不再支持,换成pyMysql
2|22. 安装步骤
1) 安装pyMysql模块:pip install PyMysql
2) python连接mysql数据库,需要下载驱动:https://dev.mysql.com/downloads/connector/python/mysqlmysql官方网站提供的驱动版本,目前只支持到python3.4,python版本要与驱动支持的版本匹配才能安装成功
3) 安装mysql图形界面Navicat,连接数据库后,方便查看/编辑数据库数据
(可选)安装mysql服务端:https://dev.mysql.com/downloads/mysql/
2|33. 数据库的常规操作
增删改查,所以我们要学的也是利用python去数据库里面读取数据,进行增删改查操作
3|0三. python—mysql操作
对数据库进行操作步骤:
1. 连接数据库、创建游标
2. 准备好增、删、改、查sql语句
3. 执行sql语句
4. 读取执行结果—执行影响的行
5. 关闭游标、关闭连接(释放连接数)
数据库连接信息如下:
IP地址、端口号、数据库名字、登录用户名、密码
pymysql中的连接数据库方法:
conn = pymysql.Connect(host, port, db, user, passwd)
cursorclass = pymysql.cursors.DictCursor 指定返回数据为字典形式
创建游标:
cursor = conn.cursor() 每次操作都需要获取游标,才能进行
4|0四. python之查询数据
4|11. 查询数据语法
sql语句:select 字段 from 表名 where 条件语句
4|22. 展示数据,需要调用如下函数
fetchall():返回的数据格式是列表形式的
fetchone():返回的数据格式是元组形式的(可以用cursorclass = pymysql.cursors.DictCursor改成字典的形式)
4|33. 条件语句的用法
重点看代码,掌握用法
5|0五. python之execute
execute中,sql语句的多种方式:
execute(sql语句、参数[可选]):
1. 数据直接写在sql语句中
2. 用格式化的方式
sql语句中:列表和元组 %s代替
字典:%(键名)s代替
参数:为真正的数值
例:
insert_sql = "insert into test1(id, name) values(%s, %s)"
data = [14, 'xiaojian']
#字典
data1 = {'id': 14, 'name': 'xiaojian'}
insert_sql = "insert into test1(id, name) values(%(id)s, %(name)s)"
cursor.execute(insert_sql, data)
6|0六. 提交和回滚
提交操作:在对数据库进行任何修改的情况下,都使用commit函数来提交操作
修改包括增加、修改、删除数据等操作
提交修改:
conn.commit()
回滚操作:在对数据库进行修改的过程中,因任何异常而导致修改中断,我们都应该使用回滚操作使数据库恢复到修改之前的状态
回滚修改:
conn.rollback()
7|0七. 实例
7|1实例1:增加数据
运行结果:
7|2实例2:查询数据
运行结果
7|3实例3:格式化方式插入数据
列表形式
运行结果
字典形式
运行结果
7|4实例4:封装成类
__EOF__

本文链接:https://www.cnblogs.com/my_captain/p/9294420.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2017-07-11 《Advanced Bash-scripting Guide》学习(十八):[[ ]]与[ ]的一些特殊情况