python+pymysql对数据库进行增、删、改、查操作

您所在的位置:网站首页 mysq增删改查语句 python+pymysql对数据库进行增、删、改、查操作

python+pymysql对数据库进行增、删、改、查操作

2024-07-16 15:04| 来源: 网络整理| 查看: 265

一、概述

接口测试中,应用到数据库操作的场景:

 1.校验测试数据

接口发送请求后明确会对数据库中的某个字段进行修改(编辑,更新、删除操作),但,响应结果中无该字段数据时。

例如:删除订单接口,is_delete 字段,没有 在响应结果中出现! 需要借助数据库校验! 例如删除订单接口,

2.构造测试数据

测试数据使用一次就失效,测试前,无法保证测试数据是否存在。

二、pyMySql使用步骤 2.1 安装第三方库PyMySQL # 方法一: pip install PyMySQL # 方法二: pip install PyMySQL -i https://pypi.douban.com/simple/ 2.2 数据库查询操作

# 1. 导包 import pymysql # 2. 建立连接 conn = pymysql.connect(host="10.51.102.22", port=3306, user="xxxx", password="fxxxxxxxXPF33", database="xxxxxx", charset="utf8") # 3. 获取游标 cursor = conn.cursor() # 指向 0 号位置。 # 4. 执行 sql 语句(查询) cursor.execute("select * from charge_order;") # 5. 获取结果 - 提取第一条 res1 = cursor.fetchone() print("res1 =", res1) print("res1类型", type(res1)) # 修改游标位置:回零 cursor.rownumber = 0 # 关闭游标 cursor.close() # 7. 关闭连接 conn.close() fetchone() :从结果集中,提取一行。 fetchmany(size) :从结果集中,提取 size 行。 fetchall() :提取所有结果集。 2.3 数据库增、删、改操作

 

import pymysql # 定义全局变量 conn = None cursor = None try: # 2. 创建连接 conn = pymysql.connect(host="10.51.102.22", port=3306, user="xxx", password="xxxx33", database="xxxx", charset="utf8") # 3. 获取游标 cursor = conn.cursor() # 4. 执行 insert 语句(新增运营商信息) cursor.execute("INSERT INTO cs_operator " "(id, pay_app_id)" " VALUES(1036, '6124105280304');") # 查看 sql执行,影响多少行 print("影响的行数:", conn.affected_rows()) # 5. 提交事务 conn.commit() except Exception as err: print("插入数据错误:", str(err)) # 回滚事务 conn.rollback() finally: # 6. 关闭游标 cursor.close() # 7. 关闭连接 conn.close()

删除、修改语句除了sql语句的参数不一致,其余步骤同上。

2.4 数据库工具类封装 import pymysql # 封装数据库工具类 class DBUtil(object): # 添加类属性 conn = None @classmethod def __get_conn(cls): # 判断 conn 是否为空,如果是,再创建 if cls.conn is None: cls.conn = pymysql.connect(host="10.51.102.22", port=3306, user="xxxxxxxxxxx", password="xxxxxxxx", database="xxxxxxx", charset="utf8") # 返回 非空连接 return cls.conn @classmethod def __close_conn(cls): # 判断,conn 不为空,需要关闭。 if cls.conn is not None: cls.conn.close() cls.conn = None # 常用方法:查询一条 @classmethod def select_one(cls, sql): cursor = None res = None try: # 获取连接 cls.conn = cls.__get_conn() # 获取游标 cursor = cls.conn.cursor() # 执行 查询语句 cursor.execute(sql) # 提取一条结果 res = cursor.fetchone() except Exception as err: print("查询sql错误:", str(err)) finally: # 关闭游标 cursor.close() # 关闭连接 cls.__close_conn() # 将查询sql执行的 结果,返回 return res # 常用方法:增删改 @classmethod def uid_db(cls, sql): cursor = None try: # 获取连接 cls.conn = cls.__get_conn() # 获取游标 cursor = cls.conn.cursor() # 执行 uid 语句 cursor.execute(sql) print("影响的行数:", cls.conn.affected_rows()) # 提交事务 cls.conn.commit() except Exception as err: # 回滚事务 cls.conn.rollback() print("增删改 SQL 执行失败:", str(err)) finally: # 关闭游标 cursor.close() # 关闭连接 cls.__close_conn()



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3