测试-1月22日--200集学完了

查找文件

在这里插入图片描述

01.在路径下创建adir,bdir两个文件夹
mkdir adir bdir

02.在adir目录下创建文件 f_demo
touch adir/f_demo

03.切换路径到bdir目录下
cd bdir

04.在当前目录下从/root 目录中查找 f_demo 文件
find /home/admin/ -name ‘*mo’

说明
1、命令格式 find 查找路径信息 -name目标文件名
注意:
1、目标文件名可以省略引号
2、文件名部分支持使用*实现模糊匹配
3、如果当前用户对目标路径没有访问权限,则无法执行查找文件动作

ln -s 链接文件

注意:需要使用 -s 创建软链接(类似于 Windows 系统下的快捷方式)

ln -s demo ldemo
ldemo ->demo

01.在当前路径下创建文件demo
touch demo

02.在demo文件创建链接文件为ldemo
ln -s demo ldemo

03.修改ldemo链接文件的内容
ldemo -> demo
ls > demo
cat demo

04.查看demo文件的内容是否同样变化
ls -l > demo

05.修改demo文件内容,查看ldemo链接文件是否同样变化
cat ldemo

在Linux系统中存在两种链接文件方式
ln -s 原文件 链接文件名:软链接 类似Windows 下的快捷方式
ln 原文件 链接文件名 硬链接 类似复制文件

注意,删除原文件 链接文件会失效

扩展:硬链接

创建文件
touch demo

创建硬链接文件
ln demo hdemo

修改原文件内容
ls > demo

查看链接文件内容
cat hdemo

修改链接文件内容
ls -l > demo

查看原文件内容
cat hdemo

删除原文件
rm demo

链接文件任然可用
cat hdemo

软链接
链接文件 ≠ 文件 ≠ 文件内容,内存

如果文件被删除,软链接文件失去指向 ,变为不可用

硬链接

在这里插入图片描述

文件归纳管理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

打包文件
tar -zcvf 打包文件.tar.gz 被打包的文件/路径

解包文件
tar -zxvf 打包文件.tar.gz

解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目标路径

01.在当前路径下创建atdir btdir 两个文件夹
mkdir atdir btdir

02.在atdir 目录下创建 aa bb cc三个文件
cd atdir
touch aa bb cc

03.分别用三种压缩方法对atdir目录进行用压缩
cd -
ls
tar -zcvf atdir.tar.gz atdir/

04.分别解压上一步产生的压缩包文件内容至btdir目录下
tar -zxvf atdir.tar.gz -C btdir/

注意 不要在目标文件内部,执行打包压缩文件操作
返回上一级目录

-z gzip 压缩
-c 打包
-v 显示过程
–f 制定文件

-z gzip 解压
-x 捷包
-v 显示过程
-f 指定文件
-c 用于指定解压目录

在这里插入图片描述
zip [-r] 打包文件 被压缩的文件

unzip -d 解压后的目录 打包文件.zip

ls
hdemo
zip -r atdir atdir
unzip -d btdir/ atdir.zip

在这里插入图片描述

在这里插入图片描述
vi 有三种基本工作模式
命令模式
文本输入模式
末行模式

在这里插入图片描述
vi demo
i

01.在当前目录下利用vi命令创建文件 vi_demo 并打开
vi vi_demo

02.修改 vi_demo 文件内容为:hello linux
下面是插入的时候就是输入模式
推荐记忆字母i,insert,插入
hello linux

03.保存文件内容并退出vi模式
出现 : 进入末行模式
wq!

04.查看vi_demo 文件内容,确认修改是否完成!
cat vi_demo

yum 软件包管理工具

在这里插入图片描述
说明:
yum 一个在Linux系统中常见的软件包管理器
yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简捷又好记

yum list:列出所有可安装的软件清单
yum search :查找软件包
yum install < package_name > : 安装指定的软件

数据库

说明:数据库是专门用来存储数据的软件
注意:对于测试工作而言,如果项目页面没有实现,但是我们又想要检验数据,则可以通过直接查询数据库实现
关系:具体存在的商品录入后 -》 产生对应的数据(存到数据库中) -》 最后被加载到项目页面中

数据库的分类

分类:
1》关系型数据库:以数据表为核心
2》非关系型数据库:不存在数据表的概念

关系型数据库: RDMS关系型数据库系统

常见的关系型数据库
Oracle
MySQL
Mincrosoft SQL Server
SQLite

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

SQL语言

SQL:结构话查询语言,通过SQL语言可以对数据库进行操作
注意:
	1、SQL 语言默认支持操作所有常见的关系型数据库
	2、作为测试人员,必须要掌握SQL 的查询语句
		DQL:数据查询语言,用于对数据进行查询寻
	3、对于MySQL 而言,编写SQL 语句时,不区分字母的大小写

MySQL 数据库介绍

说明:是一个关系型数据库管理系统,目前属于Oracle 旗下产品,目前为止 MySQL 社区版是可以免费使用的
特点:开源/免费/跨平台/跨语言

数据库连接工具Navicat

说明:由于数据库软件处于服务器中,想要操作数据库,就必须使用工具远程连接数据库后,进行操作

连接数据库操作步骤

说明:将来在工作中,想要远程连接数据库,需要具备以下条件
1》数据库所在服务器的IP 地址及数据库的端口号
2》向相关人员获取数据库的账号和密码
3》使用数据库连接工具,远程连接数据库即可
注意:远程连接需要注意网络连通性

数据类型

对于填入的数据值本身进行控制,保证数据准确性

整数:int,有符号范围,无符号范围
小数:decimal,decimal(5,2)表示共存5位数,小数占2位,整数占3位
字符串:varchar,范围,varcchar(3)表示最多存3个字符,一个中文或一个字
日期时间:datetime,范围(1000-01-01 00:00:00 ~9999-12-31 23:59:59)

在设计表页面内,选择对应字段,勾选无符号,不支持负数,设置

约束

主键(primary key):能够唯一识别表中的每一条记录的属性组
非空(not null):此字段不允许填写空值

唯一(unique):此字段的值不允许重复–在索引页,在字段里面点击增加数据,点击card,之后点击对,之后再索引类型类选择UNIQUE ,选择唯一,要求当前字段内选择唯一。

默认值(default)当不填写此值时会使用默认值,如果填写时以填写为准
在这里插入图片描述

外键(foreign key):一个表中的一个字段引用另一个表的主键

在这里插入图片描述
在这里插入图片描述
注意:如果查询窗口内具备多条SQL语句,需要先选中目标语句再执行

数据库操作
创建数据库

创建数据库
create database 数据库名 charset = utf8 collate= utf8_general_ci;

创建一个python的数据库
create database python charset=utf8 collate = utf8_general_ci;

查看数据库
show create database 数据库名;
show create database python;

使用数据库

使用数据库(切换数据库)
use 数据库名
use python;

查看当前数据库:database()时SQL的内置函数,括号不能省略!
select database();

修改数据库

创建
create database testpython chrset=gb2312;
修改
alter database 数据库名
[default] character set 编码格式
[default] collate 排序规则;

alter database testpython
default character set utf8mb4
default collate utf8mb4 general ci;

删除数据库和查看所有数据库

删除数据库
drop database 数据库名;
drop database python;
查看所有数据库
show databases;

数据库备份

应用场景
说明:
再测试工作中,为了防止对数据库产生错误操作,或产生垃圾数据,都需要在操作前,适当对数据库进行备份操作
垃圾数据:例如在自动化测试中,对注册模块操作生成的所有数据,属于典型的垃圾数据,应该清理

备份方法

利用工具
数据库-》转存SQL文件-》结构+数据
字符:数据值(仅字段)
说明:一般要选择字符和数据值一起备份

在这里插入图片描述

自行选择存放位置
在这里插入图片描述
备份结束

还原操作

数据库-》运行SQL文件
通过备份文件还原数据库
还原

使用命令备份

命令是不需要连接到数据库以后执行的!(非mysql > 模式)

mysql> 为SQL语句编写模式,非Linux命令行模式

mysql -u 数据库用户名 -p 数据库密码
说明:命令行方式连接书库

mysql,此模式仅支持SQL语句

备份命令
mysqldump -u数据库用户名 -p 目标数据库名 > 备份文件名.sql
mysqldump -uroot -p test > test.sql

还原命令
mysql -u数据库用户名 -p目标数据库名 < 备份呢文件名.sql
mysql -uroot -p test < test.sql

注意:需要根据提示输入数据库密码,执行数据库备份与还原操作

创建表

create table 表名(
字段名 类型 约束,
字段名 类型 约束

)

简单创建
create table stu(
name varchar(5)
);

完整创建
unsigned:无符号
primary key:主键
auto_increment:自动增长

create table students(
id int unsigned primary key auto_increment,
name varchar(20),
age int unsigned,
height decimal(5,2)
);

查看表

show create table 表名;
show create table students;

判断表存在移除再创建

判断表是否存在,存在时先删掉再创建
drop table : 删除表
if exists students :如果 students 存在

drop table if exists students;
create table students(
id int unsigned primary key auto_increment,
name varchar(20),
age int unsigned,
height decimal(5,2)
);

通过Navicat 工具获取创建语句的方法

在这里插入图片描述

查看表结构和删除表

查看表结构(字段)
desc 表名;
desc students;

删除表
drop table 表名;
drop table students;

增加一行数据

insert into 表名 values()
注意:
1、数据值需要和表的字段–对应(数据个数及数据类型)
2、主键列是自动增长,插入时需要占位,通常使用0或者default或者null来占位,插入成功后以实际数据为准
insert into student values(0,‘张三’,28,1.78);

增加部分值
insert into 表名(字段1) values(值1)
注意:值的顺序与给出的字段顺序对应
insert into students(name,height)values('李四‘,1.68);

添加多行数据

插入多行数据
方法1:将单行插入数据,多句执行,每句分开隔开
insert into students values(0,‘王五’,28,1.78);
insert into students(name,height)values(‘赵六’,1.68);

方法2:在插入单行数据的语法基础上,将value后边的数据进行多组化处理
insert into 表名 values(```)
insert into 表名(列1,···)values(值1··),(值1···)
insert into students values (0,’王五1’,29,1.78),(0,‘王五2’,30,1.78);
insert into students(name,height)values(‘赵六1’,1.78),(‘赵六2’,1.99);

修改数据

update 表名 set 列1=值1,列2=值2```where 条件
注意:where不能省略,否则会修改整列数据

删除数据

delete from 表名 where 条件;
注意:where不能省略,否则会删除全部数据
delete from students where id=6;

逻辑删除

对于重要的数据,不能轻易执行delete语句进行删除。因为一旦是删除,数据无法恢复,这时可以进行逻辑删除。
1、给表添加字段,代表数据是否删除,一般起名isdelete,0代表未删除,1代表删除,默认值为0
2、当要删除某条数据时,只需要设置这条数据的isdelete字段为1
3、以后在查询数据时,只查询出isdelete为0的数据

说明:所谓逻辑删除,就是通过某一特定字段的特定值表示删除,1,或未删除0,状态

在这里插入图片描述
1、修改要删除的数据的特定字段为删除状态
update students set isdelete =1 where id =4;

2、查询所有isdelete 字段为0的所有数据
select * from students where isdelete =0;

其他删除数据的方法

delete from 表名:删除所有数据,但是不重置主键字段的计数
truncate table 表名:删除所有数据,并充值主键字段的计数
drop table 表名:删除表(字段和数据均不再存在)

delete from students;
truncate table students;
drop table students;

delete from ==清空表
truncate table == 截断表
drop table 删除表

基本查询

查询所有数据
select * from 表名;
select * from goods;

查询部分字段:
select 字段名1,字段名2 from goods;
select goodsName, price from goods;

起字段别名
select 字段名 as ‘别名’ from goods;
注意:别名的引号可以省略
select goodsName as ’商品名称‘ , price as ‘价格’ from goods;
select goodsName as 商品名称 , price as 价格 from goods;
as关键字也可以省略
select goodsName 商品名称,price 价格 from goods;

起别名的作用
1、美化数据结果的显示效果
2、可以起到隐藏真正字段名的作用


除了可以给字段起别名以外,还可以给数据表起别别名(连接查询时使用)

去重: select distinct(字段名) from goods;
效果:将目标字段内重复出现的数据只保留一份显示
小需求:显示所有的公司名称
select distinct(company) from goods;

条件查询

在这里插入图片描述

比较运算符 & 逻辑运算符

查询价格等于300并且出自拼喜喜的所有商品信息
select * from goods where price =30 and company=‘拼喜喜’;

注意:作为查询条件使用的字符串必须带引号

查询价格等于30但不出自拼喜喜的所有商品信息
select * from goods where not company =‘拼喜喜’ and price =30;

注意:not 与 and 和or (左右两边连接条件)不同之处在于,not 只对自己右侧的条件有作用(右边连接条件)

select * from goods where price = 30 and not company = ’ 拼喜喜’;

模糊查询

查询全部一次性口罩的商品信息
模糊查询:like 和符号 %(任意多个字符)/ _ (任意一个字符)
注意:作为查询条件使用的字符串必须带引号!
注意:如果需要控制字符数量,需要使用_,并且有几个字符就使用几个_
%关键字%:关键字在中间

select * from goods where remark like ‘%一次性’;
select * from goods where remark like ‘一次性%’;

范围查询

查询所有价格在30-100的商品信息
非连续范围:in
连续范围:between ```and
select * from goods where price between 30 and 100;
select * from goods where hometown in ('北京;‘上海’);

判断空

查询没有描述信息的商品信息
注意:在MySQL中,只有显示为NULL 的才为空!其余空白可能是空格/制表符(tab)/换行符(回车键)等空白符号
判断空:
1、为空 :is null
2、不为空(双重否定表肯定):is not null

select * from goods where remark is null;

查询有描述信息的所有商品
select * from goods where remark is not null;

排序

查询所有商品信息,按照价格从大到小排序,价格相同时,按照数量少到多排序
select * from 表名 order by 列1 asc|desc,列2 asc|desc,
说明:
order by 排序
asc:升序
desc:降序
注意:排序过程中,支持连续设置多条排序规则,但离order by关键字越近,排序数据的范围越大!

select * from goods order by price desc;
select * from goods order by prie desc,count asc;

注意:默认排序为升序,as省略

select * from goods order by price desc, count;

聚合函数

对于一组数据进行计算返回单个结果的实现过程
使用聚合函数方便进行数据统计
聚合函数不能在where子句中使用

count():查询总记录数
max():查询最大值
min():查询最小值
sum():求和
avg():求平均值

count(*)计算总行数,括号中也可以使用字段名

查询以下信息:商品信息总条数;最高商品价格;最低商品价格;商品平均价格,一次性口罩的总数量
聚合函数:系统提供的一些可以直接用来获取统计数据的函数
商品信息总条数:count(字段):查询总记录数

select count (*) from goods;
注意:统计数据总数,建议使用 * ,如果使用某一特定字段,可能会造成数据总数错误!

select count (remark) from goods;

最高
select max(price) from goods;

最低
select min(price) from goods;

平均
select avg(price) from goods;

求和
select sum(count) from goods where remark like ‘%一次性%’;

注意:
在需求允许的情况下,可以一次性在一条SQL语句中,使用所有的聚合函数

分组

select 字段1,字段2,聚合··· from 表名 group by 字段1,字段2
一般情况,使用哪个字段进行分组,那么只有该字段可以在 * 的位置处使用,其他字段没有实际意义(只要一组数据中的一条)

分组操作和聚合函数配合使用
select count() from goods group by company;
select * from goods;
select company, count(
) from goods group by company;

分组后条件过滤
group by 后增加过滤条件时,需要使用haviing 关键字

1、group by 和having 一般情况下需要配合使用
2、group by 后边不推荐使用where进行条件过滤
3、having关键字后侧可以使用的内容与where完全一致(比较运算符/逻辑运算符/模糊查询/判断空)
4、having 关键字后侧允许使用聚合函数

where和having 的区别
where是对from 后面指定的表进行数据筛选,属于对原始数据的是筛选
having 是对group by 的结果进行筛选
having 后面的条件中可以用聚合函数,where后面不可以

分页查询

select * from 表名 limit start,count
limit 分页;start:起始行号;count :数据行数
计算机的计数从0开始,因此start默认的的第一条数据依次减1

过滤需求:获取前5条数据
select * from goods limit 0,5;
注意:如果默认从第一条数据开始获取,则0可以省略
select * from goods limit 5;

查询当前表中第5~10行的所有数据
select * from goods limit 4,6;

根据公式计算显示某页的数据

已知:每页显示m条数据,求:显示第n页的数据
select * from 表名 limit (n-1)*m,m

每页显示4条数据,求展示第2页得数据内容
select * from goods limit 0,4
select * from goods limit 4,4;
select * from goods limit 8,4;
select * from goods limit 12,4;

分页得其他应用

查询商品价格最贵得数据信息
select * from goods order by price desc limit 1;

要求查询商品价格最贵的前三条是数据信息
select * from goods order by price desc limit 3;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

向上Claire

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值