本帖最后由 dcs68彭棚王 于 2021-11-28 19:09 编辑
外键的主要作用:保证数据的一致性,完整性
创建外键关联表和表:primary key
engine=inondb--- 创建外键或者事务的时候
主表:create table dcs1(id int(4)primary key,name char(4)) engine=innodb;
基于主表来创建子表(子表关联主表)
constraint aa(此语法的作用就是来定义一个外键名称,后续要解除外键关系可以通过删除掉这个名称来解除)
foreign key(sid)----设置外键约束:dcs2中的sid
references dcs1(id)和dcs1中的id关联,dcs1为主,dcs2为子
创建子表:create table dcs2(sid int(4)primary key,score int(10),constraint aa
foreign key(sid)references dcs1(id)) engine=innodb;
当前创建后:dcs1 和 dcs2是外键关系
其中dcs1是主 dcs2是子
1.主表中有数据,子表才能拥有数据
2.主表中有多少行数据,子表才能有对应行的数据不能超过主表
3.如果你要删除主表的数据,必须要先删除主表的数据
4.如果你要删除主表,必须先要删除子表
删除外键:alter table 子表名 drop foreign key 外键名;
数据库视图 VIEW
保护敏感信息
创建:
create view yy as (select id,name from dcs);
dcs表
id name score age sex
试图表:yy
id name
将查询结果集创建为视图yy
show create view yy(视图名)
也能查看到视图 Show tables 查看试图
drop view 视图名; //删除视图
储存过程:创建大量的测试数据,用这个数据进行相关的测试,简称:造数据
(测试岗位使用评率不高,大多开发在使用,一个储存代码写好后可以给其他同时调用)
一:了解储存的基本架构
create procedure +储存的名称()
begin (开始)
代码块
end (结束)
call 储存名称();
二:实例
create procedure dcs() #创建一个储存
begin #开始
create table ddc(id int(2)primary key,age int(2));
insert into ddc(id,age)values(1,22),(2,20),(3,21);
select * from ddc;
end
call dcs(); #调用储存
三:解决限制只能调用执行一次,增强代码的容错率和健壮性
drop procedure if exists dcs; #增强代码的容错率和健壮性
create procedure dcs() #创建一个储存
begin
drop table if exists ddc; #如果存在则删除,不存在则不删除
create table ddc(in int(2)primary key,age int(2));
insert into ddc(id,age)values(1,22),(2,20),(3,21);
select * from ddc;
end
call dcs(); #调用储存
四:了解形参和实参,还有做增删改的相关操作
drop procedure if exists dcs; #增强代码的容错率和健壮性
create procedure dcs(n int) #创建储存定义一个形参n,类型是整数
begin
drop table if exists ddc; #如果存在则删除,不存在则不删除
create table ddc(in int(2)primary key,age int(2));
insert into ddc(id,age)values(1,22),(2,20),(3,21);
select * from ddc where id=n; n=1
select * from ddc where id=1; #查询
update ddc set score=100 where id=1; #修改
delete from ddc where id=1; #删除
end
call dcs(1); 查询ddc表内id=1所有数据
形参是设定在dcs储存中的,那么通过call调用dcs的时候一定要赋予一个对应形参对应的实参,且只能赋予一个值。
五:if的判断
drop procedure if exists dcs; #增强代码的容错率和健壮性
create procedure dcs(n int) #创建储存定义一个形参n,类型是整数
begin
drop table if exists ddc; #如果存在则删除,不存在则不删除
create table ddc(in int(2)primary key,age int(2));
insert into ddc(id,age)values(1,22),(2,20),(3,21);
if n=o then #如果满足条件则执行查询所有
select * from ddc;
else #不满足则查询最小年龄
select min(age) from ddc;
end if; #结束if判断
end
call dcs(1); (不为o)不满足n=0查询最小年龄,(0)则满足n=0显示表ddc所有数据
六:if的多分支判断
drop procedure if exists dcs;
create procedure dcs(n int)
begin
drop table if exists ddc;
create table ddc(id int(4)primary key,score int(4));
insert into ddc(id,score)values(1,22),(2,33),(3,44);
if n=o then
select * from ddc;
else if n>1 then
select * from ddc where id=3;
else
select min(score) from ddc;
end if;
end if;
end
call ddc(2); (0)满足则显示表ddc内所有内容,(大于1)显示表ddc内id=3的所有内容,(不为0也不大于1)则显示表ddc分数最小的所有内容
七:while循环语句(死循环)
drop procedure if exists dcs;
create procedure dcs(n int)
begin
declare i int default 1; #设置一个变量i 整形给爱你量赋予值1
drop table if exists ddc;
create table ddc(id int(4)primary key auto_increment,score int(4));
while循环如果条件满足进入循环体,不满足退出循环体,一直满足一直循环(死循环)
while n>=1 do #满足条件进入死循环
insert into ddc(score)values(i);
end while; #结束
select * from ddc;
end
call dcs(2); 当()内为1或者比1小时则显示ddc表内所有内容,当()内的值大于或等于1则进入死循环创建表数据
C:\Users\Administrator\AppData\Local\YNote\data\weixinobU7VjljHqgNTmb8gRrNj5hz1Qn0\28a8b08810f8488c84d6c5384fa02f40\clipboard.png
八:设置变量和while循环语句,创造数据
drop procedure if exists dcs;
create procedure dcs(n int)
begin
declare i int default 1; #设置一个变量i 整形给i量赋予值1
declare j int default(select min(score) from ddc); #设置一个变量j,整形给变量赋予值为ddc表内最小分数的那个值)
drop table if exists ddc;
create table ddc(id int(4)primary key auto_increment,score int(4));
while循环如果条件满足进入循环体,不满足退出循环体,一直满足一直循环(死循环)
while n>=i do #满足条件进入死循环
(n=10 i=1 10>1 1+1=2 2+1=3 3+1=4........... 10>=11)
insert into ddc(score)values(i);
set i=i+1
end while; #结束
select * from ddc;
end
call dcs(10); i=1 当()>=1时进入创建数据,直到i的值等于()内的值,条件是set i=i+1 每创建一行数据i的值都加1,1+1=2 2+1=3 3+1=4。当()<1时,则显示ddc表内所有内容
问答错题集:
黑盒测试的方法有那些?
答:等价类,边界值,判定表,因果图,场景法,状态迁移
判定表的作用是什么?
答:分析和表达多逻辑条件下执行不同操作
软件测试的目的是什么?
答:软件测试的目的是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程
简单来说就是:找出软件中的BUG
阐述一下你认为一个测试人员应该具备那些要求?
答:1、 细心 2、耐心 3、会沟通 4、总结归纳能力 5、理解能力 6、表达能力 7、时间观念 8、责任感
9、学习能力 10、熟悉软件理论,方法,工具
阐述一下你认为一个优质的用例应该满足那些要求?
答:1、用例的编号正确,不要有重复
2、标题简洁明了,不要有重复
3、测试数据尽量放在测试步骤中,数据也不要有重复
4、不要把用例写成BUG
5、用例标题和结果要收尾相呼应
6、碰到一个多场景案例,可以用大于或者小于来表述
7、测试用例不能使用判断语句
贵公司项目组有多少人?测试多少?开发多少?测试开发的比例是?
答:可以说20多个,30多个都可以 ,测试一般讲3-5个就好讲具体值如:3 开发10多个可以根据你
项目组开始人数来说, 比例的话:4,5,6,7:1都可以
测试方法中你常用的是哪些方法?分别解释一下为什么要使用此方法?
答:等价类,边界值
等价类的划分:有效等价类和无效等价类,来实现把无穷的测试输入限定在有限的范围内,
使用少量的测试数据,发现更多的BUG
边界值:大量的错误发生在输入或输出范围的边界值上,而不是在输入范围的内部
解释一下什么是敏捷模式?什么是迭代模式?什么是增量模式?
答:敏捷就是快速交付(如果几天发个版)
迭代就是从开始到交付上线的这个周期
增量就是把整个的每个模块划分优先等级然后根据等级来实现优先级开发上线
等价类的优缺点是什么?
答:优点:是考虑了单个输入域的各类情况,避免了盲目或随机选取输入数据的不完整性和覆盖的不稳定性。
缺点:方法虽然简单易用,但是没有对组合情况 进行充分的考虑。
格式化文件系统: fdisk
|
|