




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第Python接口自动化浅析pymysql数据库操作流程目录一、pymysql介绍及安装01pymysql介绍02pymysql安装二、pymysql流程及模块说明01pymysql操作流程02pymysql模块说明Connection对象对象的方法Cursor对象对象的属性三、pymysql语法基础01代码示例02语法总结四、封装数据库类01封装说明在上一篇Python接口自动化测试系列文章:Python接口自动化浅析yaml配置文件原理及用法,主要介绍主要介绍yaml语法、yaml存储数据,封装类读写yaml配置文件。
在自动化过程中,我们需要查询数据库,校验结果是否正确,比如充值完成之后,需要查询数据库,查看充值是否成功。
以下主要介绍,pymysql安装、操作流程、语法基础及封装操作数据库类。
一、pymysql介绍及安装
01pymysql介绍
MySQL应该说是如今使用最为普遍的数据库了,没有之一,而Python作为最为流行的语言之一,自然少不了与MySQL打交道,其中PyMySQL就是使用最多的工具库。
PyMySQL是一个纯Python写的MySQL客户端,可以在CPython、PyPy、IronPython和Jython环境下运行;
PyMySQL的性能和MySQLdb几乎相当,如果对性能要求不是特别的强,使用PyMySQL将更加方便;
PyMySQL的使用方法和MySQLdb几乎一样;
02pymysql安装
方式一:使用命令安装
pipinstallpymysql
方式二:PyCharm内部安装
导入模块:
importpymysql
二、pymysql流程及模块说明
01pymysql操作流程
导入pymysql;
建立数据库连接:使用pymysql的connect()方法连接数据,返回连接对象;
使用连接对象创建游标对象(用于操作sql);
准备写sql语句(select*fromstudent);
使用游标对象执行sql;
查询数据使用游标获取;
关闭游标(先)和数据库连接(后)。
02
02pymysql模块说明
Connection对象
表示:conn=connect(参数列表)
作用:用于建立与数据库的连接;
创建对象:调用connect()方法;
参数列表:
host:连接的mysql主机,如本机是'localhost';
port:连接的mysql主机的端口,默认是3306;
database:数据库的名称;
user:连接的用户名;
password:连接的密码;
charset:通信采用的编码方式,推荐使用utf8;
对象的方法
对象方法如下:
close():关闭连接;
commit():提交;
cursor():返回Cursor对象,用于执行sql语句并获得结果;
execute(operation[,parameters]):执行语句,返回受影响的行数,主要用于执行insert、update、delete语句,也可以执行create、alter、drop等语句;
fetchone():执行查询语句时,获取查询结果集的第一个行数据,返回一个元组;
fetchall():执行查询时,获取结果集的所有行,一行构成一个元组,再将这些元组装入一个元组返回;
关于pymysql防注入,字符串拼接查询,容易造成注入,为了避免注入,使用pymysql提供的参数化语句;
Cursor对象
游标(cursor)就是游动的标识,通俗的说,一条sql取出对应n条结果资源的接口/句柄,就是游标,沿着游标可以一次取出一行。
用于执行sql语句,使用频度最高的语句为select、insert、update、delete;
获取Cursor对象:调用Connection对象的cursor()方法:cs1=conn.cursor()
对象的属性
rowcount只读属性,表示最近一次execute()执行后受影响的行数;
connection获得当前连接对象;
三、pymysql语法基础
01代码示例
importpymysql
#连接数据库
conn=pymysql.connect(host='',user='ITester',password='123456',
database='ITester',charset='utf8')
#创建游标
cursor=conn.cursor()
#执行sql语句
sql='select*fromuserlimit3;'
res=cursor.execute(sql)
#获取查询结果的1条数据
data=cursor.fetchone()
print(data)
#关闭游标连接
cursor.close()
#关闭数据库连接
conn.close()
02语法总结
1.连接数据库,需要host、user、password、database、charset等信息;
2.操作数据库先创建游标;
3.执行指定的sql语句,如果涉及到增、删、改数据库必须要mit(),提交事务
4.查询获取数据条数有三种方法fetchone、fetchmany、fetchall。
cursor.fetchone():默认获取查询结果的第一条数据;
cursor.fetchmany(2):获取查询结果的指定条数,比如获取2条数据;
cursor.fetchall():获取查询结果的所有数据;
5.需要注意的是,fetch获取的数据默认是元组,如果想要字典类型,
cursor=pymysql.cursors.DictCursor;
6.先关闭游标,后关闭数据库连接;
四、封装数据库类
01封装说明
在实际项目中,很多地方都有用到数据库的操作,所以需要将数据库相关操作进行封装,方便其他模块调用。
如下,在common目录下,新建文件db_handler.py用于封装数据库操作。
db_handler.py
importpymysql
classDBHandler:
def__init__(self,host,port,user,password,
database,charset,**kwargs):
#连接数据库服务器
self.conn=pymysql.connect(host=host,port=port,user=user,password=password,
database=database,cursor"__main__":
db=DBHandler(host='',port=3306,
user='ITester',password='123456',
database='ITester',charset='u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 耐火土石矿山开采对矿区生态环境的监测与预警考核试卷
- 木片在船舶建造中的应用考核试卷
- 探秘生态学实践
- 山西林业职业技术学院《红色经典音乐作品赏析》2023-2024学年第一学期期末试卷
- 江苏省扬州市江都区实验重点中学2024-2025学年初三下学期期末考质量调研(一模)生物试题含解析
- 山东省东平县重点名校2025年初三下学期第二次段考生物试题试卷含解析
- 山东省青岛市城阳九中学2024-2025学年初三下学期第四次月考生物试题含解析
- 辽宁省辽阳市2025年初三年级教学质量检测试题考试(二)生物试题试卷含解析
- 铁岭卫生职业学院《唐诗宋词鉴赏》2023-2024学年第二学期期末试卷
- 四川工商职业技术学院《休闲体育活动策划与案例分析》2023-2024学年第一学期期末试卷
- 活牛交易市场规划方案
- 杭州市绿地系统规划-以西湖区为例剖析
- 《危险化学品企业安全风险隐患排查治理导则》解读
- 2023-2024年注册测绘师案例分析真题及答案解析
- 中建防水专项施工方案
- 建标176-2016 精神专科医院建设标准
- 大学生农村信用社实习报告
- 【教学创新大赛】《数字电子技术》教学创新成果报告
- 离散数学(下)智慧树知到课后章节答案2023年下桂林电子科技大学
- 医疗机构安全检查表
- 信息技术说课市公开课金奖市赛课一等奖课件
评论
0/150
提交评论