测试为什么学习数据库
测试工程师的目的是找出软件的不足,并告诉开发工程师,出现问题的环境,操作步骤和输入输出
的数据。而优秀的测试工程师,当测出问题后,还可以告诉开发团队,问题的原因和解决方案。
这就要求测试工程师除了会测试,还需要知道开发相关的知识,其中非常重要的就是数据库,因为
绝大多数的软件都跟数据紧密相关,比如微博、论坛、新闻、商城等,这些软件都在不停的操作数
据,而它们的数据大部分都是存储在数据库中,开发人员的一大部分工作就是在搬迁数据:把数据
库中的数据显示到软件中;把用户输入的数据保存到数据库中。
测试工程师在测试软件的过程中,不仅需要在界面上操作,还需要检查数据库中的数据是否正确。
从而在软件出问题时,能够定位问题的原因。
比如测试注册登录功能,在输入了注册信息后,提示注册成功,但是使用刚才注册的信息登录不成
功。这时需要检查数据库中是否保存了正确的注册信息,如果数据库中没有保存数据,那么使用刚
才注册的账号肯定登录不了,这样就能定位问题:注册时,没有把数据存储起来。
基本概念
RDBMS
Relational Database Management System
关系型数据库系统
通过表来表示关系
当前主要使用两种类型的数据库:关系型数据库、非关系型数据库,我们主要学习主流的关系型数据库
所谓的关系型数据库RDBMS,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据
关系型数据库核心元素
数据行(一条记录)
数据列(字段)
数据表(数据行的集合)
数据库(数据表的集合,一个数据库中能够有 n 多个数据表)
SQL
Structured Query Language
结构化查询语言
在数据库中进行操作的语言,称为sql,结构化查询语言,当前关系型数据库都支持使用sql语言进
行操作,也就是说可以通过 sql 操作 oracle,sql server,mysql,sqlite 等等所有的关系型的数据库
sql语言主要分为:
DQL:数据查询语言,用于对数据进行查询,如select
DML:数据操作语言,对数据进行增加、修改、删除,如insert、udpate、delete
TPL:事务处理语言,对事务进行处理,包括begin transaction、commit、rollback
DCL:数据控制语言,进行授权与权限回收,如grant、revoke
DDL:数据定义语言,进行数据库、表的管理等,如create、drop
CCL:指针控制语言,通过控制指针完成表的操作,如declare cursor
对于测试工程师来讲,重点是数据的查询,需要熟练编写DQL,其它语言如TPL、DCL、CCL了解即可
SQL 是一门特殊的语言,专门用来操作关系数据库
不区分大小写
MySQL 简介
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,后来被Sun公司收购,
Sun公司后来又被Oracle公司收购,目前属于Oracle旗下产品
开源 免费 使用范围广 支持多平台
是学习数据库开发的首选
MySQL安装与使用
windows下安装:
1、解压mysql-essential-5.1.55-win32.zip,双击运行mysql-essential-5.1.55-win32.msi
2、点击next
3、选择accept,点击next
4、点击next
5、点击install
6、点击next
7、点击next
8、点击finish,开始配置MySQL
9、点击next
10、点击next
11、点击next
12、点击next
13、点击next
14、点击next
15、勾选 add firewall,点击next
16、选择最下面选项,下拉框里选择utf8,点击next
17、点击next
18、输入两次密码,勾选 enable root,点击next
19、点击execute
20、点击finish,配置完成,MySQL服务端已经配置成开机自启动,且已经启动
配置
配置文件位置为C:Program Files (x86)MySQLMySQL Server 5.1my.ini
客户端与服务端搭配场景
MySQL在Linux和Windows中都有服务端和客户端,使用时任何平台下的客户端连接到任何平台下
的服务端都可以,客户端使用时有两种选择,命令行客户端和界面客户端(navicat),在真实的
应用中可以组合出多种场景。
1、远程连接:Windows中的客户端连接Linux中的服务端
1.1、检查Windows与Centos之间的网络是否可以连通
1.1.1、Centos中查看ip,打开Ternimal命令行,输入ifconfig
1.1.2、Windows中测试是否可以连通Centos
打开cmd命令行
输入ping 192.168.133.159(前面查看的Centos的ip)
1.2、在Centos中配置MySQL中的root用户允许远程连接
在Centos中打开Ternimal命令行,依次输入下面命令
1.3、在Windows中使用navicat连接Centos中的MySQL服务端
1.3.1、打开windows中的navicat程序,点击连接-MySQL
1.3.2、在弹出的窗口,输入连接名、密码,点击连接测试
1.3.3、双击之前的连接名(192.168.133.159),就可以看到Centos的MySQL中所有的仓库
2、本机连接:Windows中的客户端连接Windows中的服务端
2.1、打开navicat程序,点击连接-MySQL
2.2、在弹出的窗口,输入连接名、密码,点击连接测试
2.3、测试成功后,点击确定按钮
2.4、双击之前的连接名(local),就可以看到本机MySQL中所有的仓库
Navicat使用
此部分为图形化界面客户端的使用,需要熟练掌握
数据库操作
创建数据库
1、打开navicat,双击连接名(local),此时已经连接上服务端,鼠标右键点击连接名,点击新建数据库
2、输入数据库名,字符集选择utf8 -- UTF-8 Unicode,排序规则选择utf8_general_ci
使用数据库
鼠标右键点击某个数据库(student),点击打开数据库,后面对数据库的操作都需要在数据库打开的
状态下进行
修改数据库
鼠标右键点击某个数据库,点击编辑数据库
可以修改字符集和排序规则,数据库名不能修改
删除数据库
鼠标右键点击某个数据库,点击删除数据库
数据表操作
创建表
打开某个数据库,鼠标右键点击数据库下面的表,点击新建表
创建表时,至少要添加一个字段,填写字段名,选择一个类型(varchar),然后点击保存按钮
输入表名,确定即可
可以在数据库下看到刚才创建的表
修改表
表重命名
鼠标右键点击某个表,点击重命名按钮
此时表的名称可以直接编辑,输入新的名称后,回车即可
添加字段
鼠标右键点击某个表,点击设计表
此时已经打开了表的设计界面,点击添加字段
输入字段名,选一个类型(int),然后点击保存即可
修改字段
鼠标右键点击某个表,点击设计表,在设计界面中,可以直接修改任何字段信息,修改后点击保存
即可
删除字段
鼠标右键点击某个表,点击设计表,在设计界面中,鼠标左键点击某个字段名称左边的小格子,当
前字段的所有信息被选中,然后点击鼠标右键,点击删除字段,再点击保存即可
删除表
鼠标右键点击某个表,点击删除表
数据操作-增删改查
添加数据
鼠标右键点击某个表,点击打开表
此时进入打开表的界面,界面显示当前表的所有数据,点击下面的加号按钮
点击加号后,直接在对应的字段输入数据,然后点击下面的对勾按钮,这样数据就添加成功
修改数据
鼠标右键点击某个表,点击打开表,此时进入打开表的界面,界面显示当前表的所有数据
鼠标直接点击要修改的数据,输入新的数据,然后点击下面的对勾按钮,既修改成功
删除数据
鼠标右键点击某个表,点击打开表,此时进入打开表的界面,界面显示当前表的所有数据,鼠标左
键点击要删除的数据的任何一个字段,然后点击下面的减号按钮,既删除成功
删除所有数据
把表中所有的数据删除,但是表本身不会删除
鼠标右键点击某个表,点击清空表
查询数据
鼠标左键点击某个数据库下面的查询按钮,然后点击新建查询
在打开的查询编辑器中,输入下面的SQL查询语句
select * from students
然后点击运行按钮,既显示查询的结果
数据类型与约束
为了更加准确的存储数据,保证数据的正确有效,需要合理的使用数据类型和约束来限制数据的存储。
常用数据类型
整数:int,有符号范围(-2147483648 ~2147483647),无符号范围(0 ~ 4294967295)
小数:decimal,如decimal(5,2)表示共存5位数,小数占2位,整数占3位
字符串:varchar,范围(0~65533),如varchar(3)表示最多存3个字符,一个中文或一个字母都占一个字符
日期时间: datetime,范围(1000-01-01 00:00:00 ~ 9999-12-31 23:59:59),如'2020-01-01 12:29:59'
约束
主键(primary key):物理上存储的顺序
非空(not null):此字段不允许填写空值
惟一(unique):此字段的值不允许重复
默认值(default):当不填写此值时会使用默认值,如果填写时以填写为准
外键(foreign key):维护两个表之间的关联关系
数据库的备份与恢复
备份
鼠标右键点击某个数据库,点击转储SQL文件->结构和数据
选择备份文件将要保存的位置,点击保存
此时会显示备份的进度,达到100%后,备份完成,点击关闭即可,此时文件已经保存到前面指定的位置
恢复
新创建一个数据库,名字随便起,字符集和排序规则必须和之前备份的数据库一致
双击打开刚才创建的数据库,鼠标右键点击此数据库,点击运行SQL文件
在弹出的窗口中,点击选择文件的按钮,如下图
在弹出的窗口中,选中之前备份的文件,点击打开按钮
点击开始按钮
等待运行完成,关闭即可,此时数据已经恢复到新的数据库中了