本篇目录
1.为什么学习数据库
2.数据存储(发展)
3.关系型数据库管理系统(RDBMS) 重点:知道什么是关系型数据库(二维表)
4.SQL简介
5.mysql简介
6.mysql具体安装步骤(windows)
8.图形化界面客户端navicat(安装,注册)
9.Navicat连接mysql服务端(本地连接)(重点:熟悉使用navicat)
10.Navicat的基本使用
- 1.数据库的操作
- 2.数据表操作
- 3.数据操作-增删改查
11.数据类型与约束
12.数据库的备份与恢复
13.sql编辑器介绍
14.SQL语言编写和运行
15.数据表操作(sql语句)(能看懂sql语句,会sql创建表)
1.为什么学习数据库
- 测试工程师的目的是找出软件的不足,并告诉开发工程师,出现问题的环境,操作步骤和输入输出 的数据。而优秀的测试工程师,当测出问题后,还可以告诉开发团队,问题的原因和解决方案。
- 这就要求测试工程师除了会测试,还需要知道开发相关的知识,其中非常重要的就是数据库,因为 绝大多数的软件都跟数据紧密相关,比如微博、论坛、新闻、商城等,这些软件都在不停的操作数 据,而它们的数据大部分都是存储在数据库中,开发人员的一大部分工作就是在搬迁数据:把数据 库中的数据显示到软件中;把用户输入的数据保存到数据库中。
- 测试工程师在测试软件的过程中,不仅需要在界面上操作,还需要检查数据库中的数据是否正确。 从而在软件出问题时,能够定位问题的原因。
- 比如测试注册登录功能,在输入了注册信息后,提示注册成功,但是使用刚才注册的信息登录不成 功。这时需要检查数据库中是否保存了正确的注册信息,如果数据库中没有保存数据,那么使用刚 才注册的账号肯定登录不了,这样就能定位问题:注册时,没有把数据存储起来。
2.数据存储
01. 人工管理阶段:结绳记事,甲骨,纸
02. 文件系统阶段:磁盘
- 文件系统阶段,将数据存储在磁盘上,数据都是以文件的形式出现,通过文件系统管理。
- 相对于人 工管理方便的多,但是在查询数据内容时,还不是很方便
03. 数据库系统阶段:数据库
- 数据库是指长期存储在计算机内、有组织的数据集合。简而言之,数据库就是一个存储数据的地 方。
- 表是数据库中存储数据的基本单位,数据按照分类存储到不同的表中,能够非常高效的查询其 中的数据。
3.关系型数据库管理系统(RDBMS)
当前主要使用两种类型的数据库:关系型数据库、非关系型数据库
所谓的关系型数据库RDBMS,是建立在关系模型基础上的数据库,借助于集合代数等数学概 念和方法来处理数据库中的数据
查看数据库排名
关系型数据库的主要产品:
- oracle:在以前的大型项目中使用,银行,电信等项目
- mysql:web时代使用最广泛的关系型数据库
- ms sql server:在微软的项目中使用
- sqlite:轻量级数据库,主要应用在移动平台
关系型数据库核心元素
核心:是以二维表存储数据
- 行(一条记录,一个事物的信息)
- 列(字段,一个事物某一个属性)
- 一个表中的所有行是一类事物的集合
- 一个数据库由很多张表组成
4.SQL简介
sql:结构化查询语言
在数据库中进行操作的语言,称为sql,结构化查询语言,当前关系型数据库都支持使用sql语言进行操作,也就是说可以通过 sql 操作 oracle,sql server,mysql,sqlite 等等所有的关系型的数据库
数据库主要的操作:增,删,改,查
不区分大小写(推荐使用小写)
对于测试工程师来讲,重点是数据的查询,
5.mysql简介
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,后来被Sun公司收购, Sun公司后来又被Oracle公司收购,目前属于Oracle旗下产品
特点
01. 支持多种操作系统(如Linux、Windows、)
02. 开源
03. 免费
(创业型公司使用mysql,不差钱公司,要求安全性使用oracle)
安装介绍
Linux平台下安装MySQL
Windows平台下安装MySQL
数据库一般分为:客户端和服务端
客户端:享受服务
服务端:提供服务
(现在基本使用软件都是客户端和服务端:微信,网盘)
mysql安装好一般有客户端(命令行),服务端。为了方便使用客户端,我们安装的是navicat。(之后主要使用navicat进行增删改查,然后它交给服务端进行操作。)
6.mysql具体安装步骤(windows)
1、解压mysql-essential-5.1.55-win32.zip,双击运行mysql-essential-5.1.55-win32.msi
(这和没有,可以去mysql官方下载。)
2、点击next
3、选择accept,点击next
4、点击next
注意:Typical是装在C盘的,Custom是装在别的盘的(这样路径必须全是中文。)
5、点击install
注意:Destination是软件安装在什么路径下,Data Folder是数据装在什么路径下的。
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服务端已经配置成开机自启动,且已经启动
这样安装好后,mysql服务器端已经安好,自带的客户端(Mysql Command Line Clinent)也安好了。
但是这个客户端是命令行客户端,对于测试人员,来说比较难用。
点击Mysql Command Line Clinent后就让你输入密码:123
这里是刚才安装的时候设置的
按ctrl+c或输入如下命令退出
8.图形化界面客户端navicat
安装:
双击navicat112_premium_cs_x86.exe,一路下一步,安装完成
注册:
这里如果按常规注册,就只有14天的使用时间。时间过了,下次卸载重新安装也没有用。
所以这里提供了一个注册软件(有注册码)注册。
注册navicat(不要打开navicat程序)
1、解压navicat注册机.7z,右键点击navicat_chs.exe,以管理员身份运行
2、在产品下拉框中选择 Navicat Premium Enterprise v11
3、点击补丁按钮,在弹出的窗口中,找到navicat的安装目录C:Program Files (x86)PremiumSoftNavicat Premium,选择navicat.exe,点击打开按钮
4、此时注册机会显示成功补丁信息,如下图
5、点击生成按钮,在弹出的窗口中,随便选择一个目录(要怕错,可以选择桌面),用来保存生成的文件,点击保存按钮
(为什么随便,因为它固定的生成 的文件会出现在navicat_chs.exe同目录下)
可以看到这里不管选择在哪,都会在注册机同级下生成lincense_file文件。
6、此时注册机会显示注册序列号,如下图
7、打开navicat程序,点击注册按钮
8、把刚才生成的序列号复制粘贴过来,不要点击激活按钮
9、按住Ctrl+Shilft键不松开,再点击激活按钮,(这前面是同时的,是一次操作。)弹出如下窗口
10、选择license_file,点击打开按钮(license_file在navicat注册机目录中)
11、navicat注册成功
点击确定,关闭。
这里要想知道自己有没有注册成功,可以打开Navicat客户端,点击帮助----注册
这里出现小对勾就说明注册成功了。
9.Navicat(MySQL客户端)连接mysql服务器端
要提前保证mysql服务器端是开启的。
(之后会增加windows客户端连接linux的服务器端)
01 .本机连接:Windows中的客户端连接Windows中的服务端
1.打开navicat程序,点击连接-MySQL
2.在弹出的窗口,输入连接名、密码,点击连接测试
3.测试成功后,点击确定按钮
4.双击之前的连接名(local),就可以看到本机MySQL中所有的仓库
5.双击或者右键打开左边的local灰色图标,这时候就真正连接上mysql服务器端。
6. 它会自动创建下面三个仓库,test下面是空的,可以删。但是information_schema和mysql都是不能删除的。
10.Navicat的基本使用
1.数据库的操作
01.创建数据库
1、打开navicat,双击连接名(local),此时已经连接上服务端,鼠标右键点击连接名,点击新建数 据库
2、输入数据库名,字符集选择utf8 -- UTF-8 Unicode,排序规则选择utf8_general_ci
02.使用数据库
鼠标右键点击某个数据库(student),点击打开数据库,后面对数据库的操作都需要在数据库打开的 状态下进行
03.修改数据库
鼠标右键点击某个数据库,点击编辑数据库
可以修改字符集和排序规则,数据库名不能修改
04.删除数据库
鼠标右键点击某个数据库,点击删除数据库
2.数据表操作
01.创建表
打开某个数据库,鼠标右键点击数据库下面的表,点击新建表
创建表时,至少要添加一个字段,填写字段名,选择一个类型(varchar),然后点击保存按钮
输入表名,确定即可
可以在数据库下看到刚才创建的表
02. 修改表
表重命名
鼠标右键点击某个表,点击重命名按钮
此时表的名称可以直接编辑,输入新的名称后,回车即可
03.添加字段
鼠标右键点击某个表,点击设计表
此时已经打开了表的设计界面,点击添加字段
输入字段名,选一个类型(int),然后点击保存即可
04.修改字段
鼠标右键点击某个表,点击设计表,在设计界面中,可以直接修改任何字段信息,修改后点击保存 即可
05. 删除字段
鼠标右键点击某个表,点击设计表,在设计界面中,鼠标左键点击某个字段名称左边的小格子,当 前字段的所有信息被选中,然后点击鼠标右键,点击删除字段,再点击保存即可
06.删除表
鼠标右键点击某个表,点击删除表
3.数据操作-增删改查
01.添加数据
鼠标右键点击某个表,点击打开表
此时进入打开表的界面,界面显示当前表的所有数据,点击下面的加号按钮
点击加号后,直接在对应的字段输入数据,然后点击下面的对勾按钮,这样数据就添加成功
02.修改数据
鼠标右键点击某个表,点击打开表,此时进入打开表的界面,界面显示当前表的所有数据
鼠标直接点击要修改的数据,输入新的数据,然后点击下面的对勾按钮,既修改成功
03.删除数据
鼠标右键点击某个表,点击打开表,此时进入打开表的界面,界面显示当前表的所有数据,鼠标左 键点击要删除的数据的任何一个字段,然后点击下面的减号按钮,既删除成功
04.删除所有数据
把表中所有的数据删除,但是表本身不会删除
鼠标右键点击某个表,点击清空表
05.查询数据
鼠标左键点击某个数据库下面的查询按钮,然后点击新建查询
在打开的查询编辑器中,输入下面的SQL查询语句
select * from students
然后点击运行按钮,既显示查询的结果
11.数据类型与约束
为了更加准确的存储数据,保证数据的正确有效,需要合理的使用数据类型和约束来限制数据 的存储
常用数据类型
- 整数:int,有符号范围(-2147483648 ~2147483647),无符号范围(0 ~ 4294967295)(zhu)
- 注意:navicat客户端中(int类型,长度随便,写的不影响)
- 小数: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):此字段的值不允许重复(navicat设置不了。)
- 默认值(default):当不填写此值时会使用默认值,如果填写时以填写为准
- 外键(foreign key):维护两个表之间的关联关系(这个在sql语句中讲)
主键:int类型,点一下空的地方,出现一个钥匙。就是主键。(选下自动增长,无符号,数字范围更多,以后不用关心id了。)
把id=2删掉,刷新就不会再显示2
默认值
点击空的地方:
一定要加英文的单引号,输入值,对应选中的列。
12.数据库的备份与恢复
01.备份
鼠标右键点击某个数据库,点击转储SQL文件->结构和数据
选择备份文件将要保存的位置,点击保存
此时会显示备份的进度,达到100%后,备份完成,点击关闭即可,此时文件已经保存到前面指定 的位置
02.恢复
新创建一个数据库,名字随便起,字符集和排序规则必须和之前备份的数据库一致
双击打开刚才创建的数据库,鼠标右键点击此数据库,点击运行SQL文件
在弹出的窗口中,点击选择文件的按钮,如下图
在弹出的窗口中,选中之前备份的文件,点击打开按钮
点击开始按钮
等待运行完成,关闭即可,此时数据已经恢复到新的数据库中了
13.sql编辑器介绍
- 选择对应的仓库,对应的表,点击查询---新建查询(就会出现下面页面)
- 第一个红箭头:选择的数据库,第二个红箭头:选择的表(从左往右)
- 可以写多行sql语句,英文分号隔开,空一行
- ctrl+/ :注释 ctrl+shift+/:取消注释
- 可以选中某行或多行,单击右键-----运行以选择的
14.SQL语言编写和运行
- 数据表操作:创建、删除
- 数据操作:增加、删除、修改、简单查询
- 数据操作:查询(重点,需要熟练掌握。)
鼠标左键点击某个数据库下面的查询按钮,然后点击新建查询
在打开的查询编辑器中,编写SQL语言,再点击运行
15.数据表操作(sql语句)
01.创建表(能看懂,开发人员写,但面试有可能会让写)
create table 表名
( 字段名 类型 约束, 字段名 类型 约束
...
)
例:创建学生表,字段要求如下: 姓名(长度为10)
create table students( name varchar(10) )
例:创建学生表,字段要求如下:
姓名(长度为10), 年龄
create table students( name varchar(10) )
例:创建学生表,字段要求如下: 姓名(长度为10), 年龄
create table students( name varchar(10), age int unsigned )
unsigned:无符号
例:创建学生表,字段要求如下:
姓名(长度为10), 年龄,身高(保留小数点2位)
create table students( id int unsigned primary key auto_increment, name varchar(20), age int unsigned, height decimal(5,2)
)
02.删除表(格式一:表不存在,删会报错; 格式二:表不存在不会报错,用的比较多)
格式一:drop table 表名
格式二:drop table if exists 表名
例:删除学生表
drop table students 或 drop table if exists students
补充:
拷贝一个表的操作
students------单击右键----复制
表----单击右键----粘贴
就会出现students_copy的表,有students表的内容。