WebAPI接口测试数据库操作
通常我们是不建议直接查看数据库内容来检查功能的,但是在没有外部接口或者图形界面验证的情况下,只能通过查询数据库来验证。
比如我们手工需要从界面上添加一万条数据,估计要花好几天时间,显然不能手工去操作。那么有一种方法就是:直接操作数据库,把数据插入到表中。
通常我们的应用程序和数据库服务都不在一台机器上,所以需要通过网络请求来访问。
服务端:
数据库服务进程:负责网络通讯,传递数据信息,将数据库访问命令传递给DB。
DB:对应具体的数据库,通常表现形式为磁盘上的数据库文件,内部存储数据库信息。
客户端:
APP:访问数据库的应用程序,
Driver:负责联通APP与数据库服务之间的联通,相当于沟通桥梁。
Python代码操作数据库:
pymysql库是在python3.x的版中用于连接mysql服务器的一个库;MySQLdb库则是在python2中使用。
在windows平台下,直接 pip install PyMySQL
先可以用第三方工具连接到数据库,或者要求开发告知连接数据库的一些信息。比如:主机名或IP、用户名、密码、端口等信息。
这样就可以连接数据库了:
① 首先导入包 import pymysql
① 创建一个连接对象 db = pymysql.connect(host='127.0.0.1', # 主机名或IP地址
port=3306, # 端口 默认一般为3306
user='xxxx', # 用户名
password='xxxx', # 密码
db='xxxx') # 数据库名
② 使用cursor()创建一个游标对象 c = db.cursor()
③ 增删改查数据库内容 ---- 通过游标来执行sql语句
c.execute("select * from sq_course") # 查询语句
c.execute("insert into sq_course(name, `desc`, display_idx )") values('数学', ‘数学课’, 10) # 增加语句
c.execute("update sq_course set name = '语文' where name = '数学' ") # 修改语句
c.execute("delete from sq_course where name = '数学'") # 删除语句
注意:所有对数据库修改的动作,必须commit提交才会生效
rollback() 回滚当前事务 与conmit相反 可以理解成撤回的意思
④ 取出查询到的数据可以用以下方法:
c.fetchall() # 查询所有的数据
c.fetchone() # 查询一条数据
c.fetchmany(3) # 查询多条数据,参数是多少条
⑤ 关闭数据库连接 db.close
代码实例:

WebAPI接口测试数据库操作的更多相关文章
- jmeter接口测试 -- 数据库操作(mysql)
一.操作类型 语句类型 1.查询语句 2.非查询语句 1)update 2)insert into 3)删除 二.把返回值的化为变量 1.执行语句,并引用变量 2.查看结果
- net core Webapi基础工程搭建(六)——数据库操作_Part 2
目录 前言 开始 使用 小结 前言 昨天是写着写着发现,时间不早了,已经养成了晚上下班抽时间看看能写点儿啥的习惯(貌似),今天实在是不想让昨天没做完的事情影响,所以又坐下,沉下心(周末了),开始把数据 ...
- net core Webapi基础工程搭建(六)——数据库操作_Part 1
目录 前言 SqlSugar Service层 BaseService(基类) 小结 前言 后端开发最常打交道的就是数据库了(静态网站靠边),上一篇net core Webapi基础工程搭建(五)-- ...
- C#进阶系列——WebApi 接口测试工具:WebApiTestClient
前言:这两天在整WebApi的服务,由于调用方是Android客户端,Android开发人员也不懂C#语法,API里面的接口也不能直接给他们看,没办法,只有整个详细一点的文档呗.由于接口个数有点多,每 ...
- Java通过JDBC 进行MySQL数据库操作
转自: http://blog.csdn.net/tobetheender/article/details/52772157 Java通过JDBC 进行MySQL数据库操作 原创 2016年10月10 ...
- 【转载】WebApi 接口测试工具:WebApiTestClient
正文 前言:这两天在整WebApi的服务,由于调用方是Android客户端,Android开发人员也不懂C#语法,API里面的接口也不能直接给他们看,没办法,只有整个详细一点的文档呗.由于接口个数有点 ...
- 谈反应式编程在服务端中的应用,数据库操作优化,提速 Upsert
反应式编程在客户端编程当中的应用相当广泛,而当前在服务端中的应用相对被提及较少.本篇将介绍如何在服务端编程中应用响应时编程来改进数据库操作的性能. 开篇就是结论 接续上一篇<谈反应式编程在服务端 ...
- 如何在高并发环境下设计出无锁的数据库操作(Java版本)
一个在线2k的游戏,每秒钟并发都吓死人.传统的hibernate直接插库基本上是不可行的.我就一步步推导出一个无锁的数据库操作. 1. 并发中如何无锁. 一个很简单的思路,把并发转化成为单线程.Jav ...
- 【知识必备】ezSQL,最好用的数据库操作类,让php操作sql更简单~
最近用php做了点小东东,用上了ezSQL,感觉真的很ez,所以拿来跟大家分享一下~ ezSQL是一个非常好用的PHP数据库操作类.著名的开源博客WordPress的数据库操作就使用了ezSQL的My ...
随机推荐
- Mybatis一级缓存和二级缓存总结
1:mybatis一级缓存:级别是session级别的,如果是同一个线程,同一个session,同一个查询条件,则只会查询数据库一次 2:mybatis二级缓存:级别是sessionfactory级别 ...
- mysql 中文不显示问题
MySQL的字符集支持(Character Set Support)有两个方面: 字符集(Character set)和排序方式(Collation).对于字符集的支持细化到四个层次: 服务器(ser ...
- vim介绍、颜色显示和移动光标、一般模式下移动光标及复制、剪切和粘贴
第4周第4次课(4月12日) 课程内容: 5.1 vim介绍5.2 vim颜色显示和移动光标5.3 vim一般模式下移动光标5.4 vim一般模式下复制.剪切和粘贴 5.1 vim介绍 centos7 ...
- element table 先显示暂无数据 之后再加载数据 问题
项目中的表格请求数据时,进去页面,先出现 ''暂无数据'' 字样闪现一下之后在进行加载数据,用户体验十分不好 解决办法: <template> <el-table :data=&qu ...
- 引用公共页面的js函数报错
对于网站来说很多页面之间都有着大量的共享模块,如页头,页脚和用户栏等.很多时候为了方便.省事,我们在公共模块写函数,然后在别的页面里调用.但我们在引用公共的js函数时,有些可以引用,有些却报错:这是因 ...
- 华为云ModelArts图深度学习,学习知识还能考取微认证
作为人工智能最前沿的技术之一,图深度学习被公认是人工智能认识世界实现因果推理的关键,也是深度学习未来发展的方向.但深度学习对图数据模型的支持性差一直是众多研究者难以攻克的难点,因此图深度学习在实际生产 ...
- CNN卷积神经网络的构建
1.卷积神经网络由输入层,卷积层,激活函数,池化层,全连接层组成. input(输入层)--conv(卷积层)--relu(激活函数)--pool(池化层)--fc(全连接层) 2.卷积层: 主要用来 ...
- Python元组tuple(不可变)
Python元组Tuple(不可变): 元组的特点: 1.元组的初始化: tuple = (1, ) #元组只有一个元素的话,初始化时要加,否则当做元素的普通变量类型处理 tuple = (1, 2 ...
- poj3111 K Best 最大化平均值,二分
题目:http://poj.org/problem?id=3111 题意:给你n,k,n个数的v.w值,选出k个数,使得v之和/w之和最大化. 思路:一看到题目,这不是赤果果的贪心吗?为什么放在二分专 ...
- iSensor APP 之 摄像头调试 OV9655 测试之二
参考上一篇博客 iSensor APP 之 摄像头调试 OV9655 本次链接主要介绍,使用ov9655输出QVGA格式,320*240 YUV输出,图像效果还不错,用户可以参考此模板改变分辨率,不 ...