Linux 和数据库day03随堂笔记
一. 数据库是什么?
为什么学习数据库:
软件中产生的所有数据, 最终都要存储于数据库当中
测试人员如果想要进行数据查询/数据校验, 就必须掌握对数据库的基本操作
数据库是什么?
定义: 用于存储数据的软件
特点: 表是数据存储的核心体现
二. 数据库常见分类
关系型数据库(重点)
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 地址; 数据库的账号和密码(找相关人员询问)
2. 在自己电脑上使用数据库连接工具(例如: Navicat), 建立连接, 远程连接数据库
3. 连接过程中需要确认自己电脑和服务器是否能够正常通信(ping命令)
注意事项:
1. 课上使用的 MySQL 的账号密码虽然是 root 和 123456, 但是和CentOS 系统的 root 用户没有关系
课程注意:
DQL:数据查询语言,用于对数据进行查询,例如:select1. 如果第一次连接成功, 再次使用时, 提示 IP 地址问题, 则需要重新获取虚拟机系统的 IP 地址
2. 使用过程中, 要确保虚拟机系统不会待机或进入休眠状态, 修改方法如下:
点击电源 -> 点击设置
修改 power -> 空白屏幕(从不)
六. Navicat 基本使用
数据库连接操作
常规操作
注意: 连接只需要建立一次, 后续使用中, 可以通过'编辑连接', 调整连接选项设置即可!
数据库操作
注意: 默认的数据库不要随意操作
连接上鼠标右键 -> 新建数据库
如图设置字符集和排序规则
数据库操作注意事项
编辑数据库
数据库修改注意事项
数据表操作
表 -> 鼠标右键 -> 新建表
添加一个字段 -> 填写表名 -> 保存
再次添加或修改字段
添加或修改字段注意事项
数据操作
打开表
数据修改注意事项
数据常规操作
删除数据注意事项
清空表 : 清理数据保留字段
数据修改后, 常用刷新
七. 数据库的备份与还原(Navicat)
测试过程中会产生垃圾数据, 测试结束时一般都需要还原原有数
据, 因此需要在测试执行前先备份, 测试结束后执行还原
注意: 如果是测试工作中的备份与还原, 以下步骤对同一个数据库进
行操作即可!
备份操作
要备份的数据库上鼠标右键 -> 转储SQL文件
还原操作
1. 新建一个与备份数据库设置相同的数据库
2. 运行上一步保存的SQL文件即可
找到之前报错的SQL文件
确认路径后, 点击开始
如图提示成功, 关闭即可
进入新建数据库中, 刷新数据, 确认还原成功即可
八. 数据类型与约束(重点)
作用: 为了更加准确存储数据, 保证数据的有效性, 需要结合数据类型和约束来限制数据的存储
数据类型:
整数: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 语言
注意: SQL 语言重点是查询语句, 因此对表和数据的操作语句仅做了解, 主要是为了熟悉SQL语句的编写习惯
数据表
-- 创表语句
-- create table 表名(
-- 字段1 类型,
-- 字段2 类型
-- );
-- 优化
drop table if exists goods;
-- drop table : 删表 if exists : 如果存在
-- 如果表存在, 执行删除操作
create table goods(goodsName varchar(20),price decimal(4, 2));
增加数据(插入数据)
-- 语法 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(字段对应值)
修改数据
-- 需求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='并夕夕';