Python操作数据库完成接口测试

发表于:2021-8-02 09:18

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:测试安静    来源:51Testing软件测试网原创

  前言
  数据库的操作在测试工作中也是经常使用的,通过一些一些工具来操作数据库的方法大家都应该了解,那么python操作数据库的大家了解吗?今天安静通过本篇文章介绍下如何通过python来操作mysql数据库。

  pymysql
  pymysql属于python的一个第三方库,用例操作mysql数据库。
  安装:pip install pymysql
  源码地址:https://github.com/PyMySQL/PyMySQL/

  连接数据库
  操作数据库前肯定需要连接数据库了,pymysql通过connext的方法用来连接数据库,其中需要一些数据库的参数内容如:登录账号,登录密码。数据库的地址(这里安静使用的是本地自己安装的数据库),以及需要连接哪一个数据库。
import pymysql
# 连接数据库
count = pymysql.connect(
            host = 'localhost',     # 数据库地址
            port = 3306,        # 数据库端口号
            user='root',        # 数据库账号
            password='821006052',     # 数据库密码
            db= 'anjing_test',  # 数据库表名
            charset = 'gbk'     # 中文乱码
)
# 完成mysql数据库实例化
db = count.cursor()

  查找数据
  查询内容肯定需要执行sql内容pymysql这里通过execute的方法来执行sql命令并返回一共有多少数据,然后在通过fetchall()来显示sql查询结果的所有内容。
import pymysql
# 连接数据库
count = pymysql.connect(
            host = 'localhost',     # 数据库地址
            port = 3306,        # 数据库端口号
            user='root',        # 数据库账号
            password='821006052',     # 数据库密码
            db= 'anjing_test',  # 数据库表名
            charset = 'gbk'     # 中文乱码
)
# 完成mysql数据库实例化
db = count.cursor()
# sql语句
sql = 'select * from weather'
# 执行sql
a = db.execute(sql)
# 查找所以内容
result = db.fetchall()
print(result)

  通过执行发现已经讲我们这个表中的所有数据全部都查询出来了,安静这里只在数据库中添加了2条数据。

  pymysql中也提供了只查询一行数据结果的方法:fetchone()。
import pymysql
# 连接数据库
count = pymysql.connect(
            host = 'localhost',     # 数据库地址
            port = 3306,        # 数据库端口号
            user='root',        # 数据库账号
            password='821006052',     # 数据库密码
            db= 'anjing_test',  # 数据库表名
            charset = 'gbk'     # 中文乱码
)
# 完成mysql数据库实例化
db = count.cursor()
# sql语句
sql = 'select * from weather'
# 执行sql
a = db.execute(sql)
# 显示一行查询结果
for i in range(a):
    result = db.fetchone()
    print(result)

  通过执行可以看出来fetchone()只能每次查询1行数据,然后这里通过for循环的方法让其也展示出来了所有的数据内容。

  修改数据
  当我们在数据库上进行修改数据后,都会需要点击下保存按钮,修改数据才会进行生效,python操作数据库这里也是一样的。这里通过commit()的方法来实现的。



版权声明:本文出自《51测试天地》第六十二期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号