数据库笔记-1

今天主要内容
  • 数据库相关介绍

  • 数据库(软件)常见类型

  • Navicat 工具基本使用

  • 常见的数据类型和约束(重点)

  • SQL 语句的编写(表和数据)


一. 数据库是什么?
  • 为什么学习数据库

  • 软件中产生的所有数据, 最终都要存储于数据库当中

  • 测试人员如果想要进行数据查询/数据校验, 就必须掌握对数据库的基本操作

![image-20200526093846799](Linux 和数据库day03随堂笔记.assets/image-20200526093846799.png)

  • 数据库是什么?

  • 定义: 用于存储数据的软件

  • 特点: 表是数据存储的核心体现


二. 数据库常见分类
  • 关系型数据库(重点)

  • RDMS:(Relational Database Management System)关系型数据库系统

  • 特征: 以数据表的形式存储数据, 便于数据查询

  • 常见的数据库代表


Oracle:在大型项目中使用,例如:银行、电信等项目
MySQL:Web 项目中使用最广泛的关系型数据库
Microsoft SQL Server:在微软的项目中使用
SQLite:轻量级数据库,主要应用在移动平台
  • 关系型数据库的核心要素


数据行(一条记录)
数据列(字段)
数据表(数据行的集合)
数据库(数据表的集合,一个数据库中能够有 n 多个数据表)
  • 非关系型数据库

  • 不以数据表的形式存储数据的数据库类型


三. SQL 介绍
SQL:Structured Query Language(结构化查询语言),通过SQL语言可以对数据库进行操作

特点: 所有主流的关系型数据库, 都支持使用SQL语句进行数据查询 !

注意: 虽然 SQL 语言分支很多, 但对于测试人员而言, 我们重点掌握查询操作即可!


DQL:数据查询语言,用于对数据进行查询,例如:select

扩展: 在 MySQL 中,默认对 SQL 语法不区分大小写


四. MySQL 介绍
来源: 目前属于 Oracle 旗下产品, 目前只有社区版免费

特点: 开源, 支持多平台(Linux/Windows/macOS), 支持多语言(Java/C/Python...)

注意: 熟悉 SQL 和熟悉 MySQL 不是一回事儿(熟悉 SQL : 熟悉 SQL 语言; 熟悉 MySQL: 用过 MySQL 数据库)


五. 数据库的远程连接(重点)
注意: 实际工作中, 数据库是安装在服务器当中的, 如果要直连数据库进行数据校验, 就必须远程连接
连接步骤
  1. 获取两个信息: 服务器的 IP 地址; 数据库的账号和密码(找相关人员询问)

  1. 在自己电脑上使用数据库连接工具(例如: Navicat), 建立连接, 远程连接数据库

  1. 连接过程中需要确认自己电脑和服务器是否能够正常通信(ping 命令)

注意事项:
  1. 课上使用的 MySQL 的账号密码虽然是 root 和 123456, 但是和 CentOS 系统的 root 用户没有关系

课程注意:
  1. 如果第一次连接成功, 再次使用时, 提示 IP 地址问题, 则需要重新获取虚拟机系统的 IP 地址

  1. 使用过程中, 要确保虚拟机系统不会待机或进入休眠状态, 修改方法如下:

点击电源 -> 点击设置

![image-20200526105358743](Linux 和数据库day03随堂笔记.assets/image-20200526105358743.png)

修改 power -> 空白屏幕(从不)

![image-20200526105428493](Linux 和数据库day03随堂笔记.assets/image-20200526105428493.png)


六. Navicat 基本使用
数据库连接操作
常规操作

![image-20200526111038405](Linux 和数据库day03随堂笔记.assets/image-20200526111038405.png)


注意: 连接只需要建立一次, 后续使用中, 可以通过'编辑连接', 调整连接选项设置即可!

数据库操作
注意: 默认的数据库不要随意操作

![image-20200526111450646](Linux 和数据库day03随堂笔记.assets/image-20200526111450646.png)

连接上鼠标右键 -> 新建数据库

![image-20200526120451801](Linux 和数据库day03随堂笔记.assets/image-20200526120451801.png)

如图设置字符集和排序规则

![image-20200526120610892](Linux 和数据库day03随堂笔记.assets/image-20200526120610892.png)

数据库操作注意事项

![image-20200526120629798](Linux 和数据库day03随堂笔记.assets/image-20200526120629798.png)

编辑数据库

![image-20200526120645945](Linux 和数据库day03随堂笔记.assets/image-20200526120645945.png)

数据库修改注意事项

![image-20200526120810751](Linux 和数据库day03随堂笔记.assets/image-20200526120810751.png)


数据表操作
表 -> 鼠标右键 -> 新建表

![image-20200526120946092](Linux 和数据库day03随堂笔记.assets/image-20200526120946092.png)

添加一个字段 -> 填写表名 -> 保存

![image-20200526121021962](Linux 和数据库day03随堂笔记.assets/image-20200526121021962.png)

再次添加或修改字段

![image-20200526121043661](Linux 和数据库day03随堂笔记.assets/image-20200526121043661.png)

添加或修改字段注意事项

![image-20200526121118602](Linux 和数据库day03随堂笔记.assets/image-20200526121118602.png)


数据操作
打开表

![image-20200526121134187](Linux 和数据库day03随堂笔记.assets/image-20200526121134187.png)

数据修改注意事项

![image-20200526121149757](Linux 和数据库day03随堂笔记.assets/image-20200526121149757.png)

数据常规操作

![image-20200526121203089](Linux 和数据库day03随堂笔记.assets/image-20200526121203089.png)

删除数据注意事项

![image-20200526121214016](Linux 和数据库day03随堂笔记.assets/image-20200526121214016.png)

清空表 : 清理数据保留字段

![image-20200526121234628](Linux 和数据库day03随堂笔记.assets/image-20200526121234628.png)

数据修改后, 常用刷新

![image-20200526121257437](Linux 和数据库day03随堂笔记.assets/image-20200526121257437.png)


七. 数据库的备份与还原(Navicat)
测试过程中会产生垃圾数据, 测试结束时一般都需要还原原有数据, 因此需要在测试执行前先备份, 测试结束后执行还原

注意: 如果是测试工作中的备份与还原, 以下步骤对同一个数据库进行操作即可!

备份操作
要备份的数据库上鼠标右键 -> 转储SQL文件

![image-20200526120300832](Linux 和数据库day03随堂笔记.assets/image-20200526120300832.png)

选择保存位置

![image-20200526120311496](Linux 和数据库day03随堂笔记.assets/image-20200526120311496.png)

提示成功关闭即可, 备份完成

![image-20200526120329665](Linux 和数据库day03随堂笔记.assets/image-20200526120329665.png)

生成的文件注意事项

![image-20200526122826024](Linux 和数据库day03随堂笔记.assets/image-20200526122826024.png)


还原操作
  1. 新建一个与备份数据库设置相同的数据库

![image-20200526115826227](Linux 和数据库day03随堂笔记.assets/image-20200526115826227.png)

  1. 运行上一步保存的SQL文件即可

![image-20200526115841855](Linux 和数据库day03随堂笔记.assets/image-20200526115841855.png)

找到之前报错的SQL文件

![image-20200526115908144](Linux 和数据库day03随堂笔记.assets/image-20200526115908144.png)

确认路径后, 点击开始

![image-20200526115929808](Linux 和数据库day03随堂笔记.assets/image-20200526115929808.png)

如图提示成功, 关闭即可

![image-20200526115947768](Linux 和数据库day03随堂笔记.assets/image-20200526115947768.png)

进入新建数据库中, 刷新数据, 确认还原成功即可

![image-20200526120028854](Linux 和数据库day03随堂笔记.assets/image-20200526120028854.png)


八. 数据类型与约束(重点)
作用: 为了更加准确存储数据, 保证数据的有效性, 需要结合数据类型和约束来限制数据的存储
数据类型

整数: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'
整数类型设置

![image-20200526145709622](Linux 和数据库day03随堂笔记.assets/image-20200526145709622.png)

约束

主键(primary key):物理上存储的顺序
非空(not null):此字段不允许填写空值
惟一(unique):此字段的值不允许重复
默认值(default):当不填写此值时会使用默认值,如果填写时以填写为准
外键(foreign key):维护两个表之间的关联关系(现阶段先不讲解, 后边再进行扩展)
主键设置

![image-20200526145728520](Linux 和数据库day03随堂笔记.assets/image-20200526145728520.png)

主键的特点

![image-20200526145744741](Linux 和数据库day03随堂笔记.assets/image-20200526145744741.png)

不为空设置

![image-20200526145801237](Linux 和数据库day03随堂笔记.assets/image-20200526145801237.png)

唯一设置 步骤1: 索引

![image-20200526145831236](Linux 和数据库day03随堂笔记.assets/image-20200526145831236.png)

唯一设置 步骤2: 字段 -> 选择目标字段

![image-20200526145909448](Linux 和数据库day03随堂笔记.assets/image-20200526145909448.png)

唯一设置 步骤3: 索引类型 -> UNIQUE

![image-20200526145926683](Linux 和数据库day03随堂笔记.assets/image-20200526145926683.png)

唯一设置 步骤4: 验证

![image-20200526150001501](Linux 和数据库day03随堂笔记.assets/image-20200526150001501.png)

默认值设置注意事项

![image-20200526150024688](Linux 和数据库day03随堂笔记.assets/image-20200526150024688.png)


九. SQL 语言

注意: SQL 语言重点是查询语句, 因此对表和数据的操作语句仅做了解, 主要是为了熟悉SQL语句的编写习惯

查询窗口的使用
新建查询窗口

![image-20200526170753175](Linux 和数据库day03随堂笔记.assets/image-20200526170753175.png)

查询窗口显示

![image-20200526170807971](Linux 和数据库day03随堂笔记.assets/image-20200526170807971.png)

SQL 语句运行方法1: 直接运行

![image-20200526170831101](Linux 和数据库day03随堂笔记.assets/image-20200526170831101.png)

SQL 语句运行方法2: 选中再运行

![image-20200526170851439](Linux 和数据库day03随堂笔记.assets/image-20200526170851439.png)

SQL 语句基本含义

![image-20200526170908532](Linux 和数据库day03随堂笔记.assets/image-20200526170908532.png)

保存查询语句

![image-20200526170920645](Linux 和数据库day03随堂笔记.assets/image-20200526170920645.png)

显示查询语句文件保存位置

![image-20200526170940483](Linux 和数据库day03随堂笔记.assets/image-20200526170940483.png)

注释的使用: 单行注释和多行注释

![image-20200526171005663](Linux 和数据库day03随堂笔记.assets/image-20200526171005663.png)


数据表

-- 创表语句
-- 需求0: 创建商品表, 包含商品名称和价格
-- create table 表名(
-- 字段1 类型,
-- 字段2 类型
-- );

-- 优化
drop table if exists goods; 
-- drop table : 删表 if exists : 如果存在
-- 如果表存在, 执行删除操作
create table goods(
goodsName varchar(20),
price decimal(4, 2)
);
表已存在提示

![image-20200526171122659](Linux 和数据库day03随堂笔记.assets/image-20200526171122659.png)

需求1: 创建商品表

-- 需求1: 创建商品表, 字段包括 id(主键), 商品名称, 价格, 数量, 公司,备注, 并添加商品
drop table if exists goods;
create table goods(
-- unsigned : 无符号
-- primary key : 主键(不为空)
-- auto_increment : 自动递增
-- 直接替换字段名使用皆可
id int unsigned primary key auto_increment, 
goodsName varchar(20),
price decimal(6,2),
num int,
company varchar(20),
remark varchar(30)
);
数据
增加数据(插入数据)
需求1 添加商品

-- 需求1 添加商品
-- 查询一次(方便观察表中字段)
select * from goods;

-- 添加1条数据
-- 主键列是自动增长,插入时需要占位,通常使用0或者 default 或者 null 来占位,插入成功后以实际数据为准
-- 语法 insert into 表名 values(...)
insert into goods values
(0, '战神笔记本', 6000.00, 100, '某东', '战神在手, 天下我有!');
-- 注意: 插入的数据个数与字段数必须匹配, 数据类型也需要对应

-- 插入多条数据
insert into goods values
(0, '小新笔记本', 5000.00, 100, '某东', '小新小新, 蜡笔小新!'),
(0, '外星人笔记本', 9999.00, 100, '某宝', '外星人上位, 战神渣渣!');
-- 注意: 插入多条数据, 每条数据使用逗点分隔即可

-- 扩展: 插入指定字段数据(了解)
-- insert into 表名(字段名) values(字段对应值)
insert into goods(goodsName) values('惠普游侠5');

修改数据
需求2: 修改商品数据1条

-- 需求2: 修改商品数据1条, 删除1条数据
-- 修改
-- 先查询所有数据, 便于观察数据内容
select * from goods;

-- 补充惠普电脑的数据
update goods set price=4500.00,num=50,company='并夕夕' where id=4;

-- 注意: 修改数据时, 为保证修改准确性, 务必要给出限定条件(where)
update goods set price=4500.00,num=50,company='并夕夕';
修改数据不指定条件时的效果

![image-20200526170213144](Linux 和数据库day03随堂笔记.assets/image-20200526170213144.png)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知勤者笔记

给点吧,没动力了!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值