找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
外键的主要作用是:保持数据的一致性、完整性
创建外键关联表和表:primary key 主键
ENGINE=INNODB---创建外键或者事务的时候
主表:
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;
删除外键:
alter table 子表名drop foreign key 外键名
alter table dcs2 drop foreign key aa;

当前创建后:dcs1 和dcs2是外键关系
其中dcs1是主,dcs2是子
注意:1、主表中有数据,子表才能拥有数据
          2、主表中有多少行的数据,子表才能有对应行的数据不能超过主表的数据
          3、如果你要删除主表的数据,必须要先删除子表的数据
          4、如果你要删除主表,必须要先删除子表


视图:view
1、对视图的操作与对基本表的操作都是一样的(包括alter,create,insert into ,update ,delete ,select),
2、二者任意一方的字段值被修改,都会实时影响 到对方(如修改view的字段值,会同步修改table相应的字段值);
3、视图的创建是基于基本表的,它的作用可以对基本表的敏感信息进行保护;在实际工作中,出于安全考虑,将用户常用的信息创建成视图给用户调用,
避免了直接 操作基本表!

数据库视图 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 视图名; //删除视图
第四:了解形参和实参,还有做增删改的相关操作
drop procedure if exists dcs;
create procedure dcs()  创建存储
begin 开始
drop table if exists duoceshi;
create table duoceshi(id int(4)primary key,score int(4));
insert into duoceshi(id,score)values(1,22),(2,33),(3,44);
select * from duoceshi;  如果要显示某个字段或数据,就select scroe from duoceshi where id=1  代码就得重新运行才能调用 ,如果要修改updete和删除delete都需要重新运行
end 结束
call dcs();
形参:create procedure dcs(aa int)  给这个存储做了个形参叫aa 类型是整型int
调用的时候一定要给这个形参赋予实参
如:select * from duoceshi where id=aa;
赋予实参  call dcs(2)  意思是调用dcs的形参aa,但是因为是id=2,然后写在call dcs(2)括号里,代表id=2,给形参aa,赋予了实参2
如:
drop procedure if exists dcs;
create procedure dcs(aa int)
begin
create table duoceshi(id int(4)primary key,score int(4));
insert into duoceshi(id,score)values(1,22),(2,33),(3,44);
select * from duoceshi where id=aa;
end
call dcs(2);
形参是设定在dcs存储中的,那么通过call 调用的时候一定要赋予一个对应的形参对应的实参,且只能赋予1个值
F:\有道\qq6BEB6B353C8A71D5BFEED469BAEDE378\35cb95c8d748490f9800f25400fcb7e4\6507.png

第五:if 的判断 (第二个月常用)
drop procedure if exists dcs;
create procedure dcs(n int)  创建存储
begin 开始
drop table if exists duoceshi;
create table duoceshi(id int(4)primary key,score int(4));
insert into duoceshi(id,score)values(1,22),(2,33),(3,44);   
if n=0 then 形参等于0 如果条件满足则执行查询所有0
   select * from duoceshi;
else 不满足if的话,否则就运行
   select min(score) from duoceshi;不满足则查询求分数最小
end if; 结束if判断
end
call dcs(1)


分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册