一、 为什么软件测试工程师还需要学习数据库以及开发方面的知识?
测试工程师在测试软件过程中,不仅仅需要在界面进行操作,还需要检查数据库中的数据是否正确,从而在软 件出现问题时候,能够定位到问题原因
二、 什么是数据库
数据库是按照数据的结构来组织,存储,和管理数据的仓库,简而言之,就是存放数据的仓库
三、数据库和SQL是什么关系?
数据库里面放着数据,而SQL是用来操作数据库里数据的语言(工具)。
例如有一碗米饭(碗就是mysql,里面放的米是数据),你要吃碗里的米饭,拿什么吃?拿筷子(sql)。用筷子(sql)操作碗里(mysql)的米饭(数据)
四、数据库的分类
1.关系型数据库
关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。在关系型数据库中, 对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关联的表格分类、合并、连接或选取等运算 来实现数据库的管理。
Oracle,mysql,SQLServer,SQLite
2.非关系型数据库
NoSQL,泛指非关系型的数据库,NoSql数据库在特定的场景下可以发挥出难以想象的高效率和高性能,它是 作为对传统关系型数据库的一个有效的补充
MongoDB,Redis
介绍
Oracle是一个关系型数据库管理系统是最挣钱的数据库,出自甲骨文公司,市场占有率非常高,功能非常强 大,被一些大型企业,电信,银行,证券公司所使用。 MySQL是一个关系型数据库管理系统,MySQL目前最流行的开源数据库。 SQLServer,微软开发的数据库,仅支持Windows操作系统,号称是windows上最好用的数据库。 MongoDB,最好用的文档型数据库,是NOSQL类型数据库的领导者之一,也是当前最成功的NoSQL类型数据 库,数据存储格式采用JSON形式,非常灵活。 Redis,最好的内存级数据库,查询效率极高,并且在Redis 3.0之后,支持多种数据类型,String, Set,List,Hash等类型,开始支持集群,弥补了自身短板。是目前做缓存最流行的数据库。 SQLite,最流行的嵌入式数据库,占领手机行业的绝对领导者地位,Android和IOS两大手机系统,都内嵌 了SQLite数据库,SQLite是一个完整的关系型数据库,支持标准SQL,支持事务操作,程序包非常小,是嵌 入式设备的最佳选择。
五、MySQL数据库
1.sql语句的分类
DQL:数据查询语言,用于对数据的查询,select
DML:数据操作语句,用于修改数据库中的数据,包括插入(INSERT)、更新(UPDATE)和删除(DELETE)
DDL:数据定义语言,用于创建、修改、和删除数据库内的数据结构 DCL:数据控制语言,用于对数据库的访问,如:1:给用户授予访问权限(GRANT);2:取消用户访问权限 (REVOKE)
2.表字段数据类型
MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型
(1):整型
(2):浮点型(float 和 double)
(3):字符串(char,varchar,text)
char 和 varchar:
VARCHAR与CHAR两种字符型数据类型相比,最大的差异就是前者是可变长度,而后者则是固定长度。在存储 时,前者会根据实际存储的数据来分配最终的存储空间。而后者则不管实际存储数据的长度,都是根据CHAR规 定的长度来分配存储空间
(4):时间/日期
若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据 类型的字段可以存放这条记录最后被修改的时间。
3.数据类型的属性
如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为 NULL ,就会报错。 AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。 PRIMARY KEY关键字用于定义列为主键。为了标识数据库记录唯一性,不允许记录重复,且键值不能为空, 主键也是一个特殊索引。 您可以使用多列来定义主键,列间以逗号分隔。 UNIQUE KEY的用途:主要是用来防止数据插入的时候重复的 CHARSET 设置编码
4. DDL:(database defination language) 数据库定义语言
(1)创建数据库
在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下
语句
create database 数据库名;
create database 数据库名 character set utf8;
操作
create database 2006C CHARACTER set utf8;
(2)选择数据库
在你连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库
语句
use 数据库