为什么要学习使用数据库
- 数据库能够解决数据高效存取的事情。
- 数据库能够高效存取数据,突破了excel的限制(上限1045876行)
- 对于软件测试来说,我们需要做一些数据的一致性校验(界面的数据要和数据库的数据保持一致)
- 对测试来说,我们还需要做数据库的落库校验(软件中产生的记录需要写入到数据库中,比如下单、添加购物车、修改商品信息、注销、购物车数量修改、登录操作)
- 对测试来说,我们有时候也需要构造一些测试数据
- 通过软件页面去添加数据(大多数情况)
- 数据库中添加一些测试数据(python更容易生成大量的数据)
- 面试的时候百分之九十以上会问到数据库(对于测试来说,经常用到增删改查,查占大部分)
数据库的类型
- 关系型数据库
- 数据描述事物,例如用户、影片、用户_影片(关系表),将事物和事物之间的关系能够存储到表中,像这种类型的数据库,能够体现事物与事物之间的关系的数据库,就称之为关系型数据库
- 有哪些关系型数据库?
- Oracle\ MySQL\ MS SQL server \PostgreSQL
- Oracle:商业数据库软件,隶属于 甲骨文 公司,主要应用在海量数据库领域,数量千万上亿级别,例如金融领域
- MySQL:社区版、企业版、隶属于甲骨文,数量级别(百万级别)
- MS SQL server:商业数据库软件,隶属于 微软公司 ,数量级别(百万级别)
- PostgreSQL:百万级别,免费开源。
- 关系型数据库
- 存储方式不按照二维表格的形式存储,是给一些特定的场景使用的
- Redis:内存型数据库(高频访问场景),提高一些高频使用数据的方位速度
- MongoDB:文档类型数据库
- 存储方式不按照二维表格的形式存储,是给一些特定的场景使用的
MySQL
一般属于C/S架构(Client/Server)
Client:客户端,需要安装完客户端软件才能够使用,测试、开发都是通过这个客户端工具去使用,比如Navicat、DBeaver、SQLyog
Server:服务端,工作中就是在linux中部署好之后
为什么要学习SQL语言
- 对于手工点击使用sql效率更高
- 进阶测试中,接口测试做数据的一致性、数据落库都是在测试工具中完成的,测试工具需要写sql来获取数据
- 进阶的测试中,接口自动化测试,性能测试、ui自动化测试、测试数据的制造过程也是写成测试框架的一部分
SQL的分类
sql,结构化查询语言,是针对关系型数据库而设计的语言,大多数关系型数据库的sql是通用的
- DCL(了解):数据控制语言,主要做权限的管理
- DDL(了解):数据的定义语言,主要做数据库对象:库和表、用户的创建(creat)修改(alter)删(drop)
- DML(熟悉):数据操作语言,用于操作表中的数据,增(Insert) 改(Update)删 (Delete)
- DQL(掌握):数据查询语言,主要用于查询表内的数据,查(Select)