一.MySQL视图
1.定义:视图就是一条select语句执行后返回的结果集
2.使用场景:权限控制的时候,不希望用户访问表中某些含敏感信息的列,比如salary工资
3.语法(创建):create view 视图名称
as
select 语句
(修改):alter view 视图名称
as
select 语句
(删除):drop view if exists 视图名称; 先判断是否存在再进行删除
4.查看 show tables;
注意:视图创建成功后可以在表展示中显示,但实际不存在,相当于一个虚拟表,使用方法按照表操作进行
二.MySQL存储过程
1.定义:存储在数据库当中可以执行特定工作(查询和更新)的一组SQL代码的程序段。类似于功能函数
2.语法(创建):create procedure 存储过程名称(参数列表)
begin
存储操作的语句块;
end
注意:当语句结束;有冲突时使用delimiter定义新的结束方法
(调用):call 存储过程名称;
(有参调用):call 存储过程名称(参数1的值,参数2的值,..);
(查看所有的存储过程):show procedure status;
(删除存储过程):drop procedure if exists 存储过程名称;
3.参数
①in 给参数传入值,定义的参数就得到了值
语法:in 参数名 表中字段的类型
②out 返回值
语法:out 参数名 返回的数据类型
4.存储过程分为
①无参无返回值的存储过程
②有参无返回值的存储过程
③无参有返回值的存储过程
④有参有返回值的存储过程
三.MySQL触发器
1.定义:当一件事情发生的时候会引发其他相关的事件发生
只有当一个预定义的事件发生的时候,就会被MySQL自动调用
2.语法:(创建):create trigger 触发器名称{before|after}{inster|update|delete} on 表名
for each row
begin
触发器执行的语句块
end
注意:当语句结束;有冲突时使用delimiter定义新的结束方法
(查看所有的触发器):show triggers;
(删除存储过程):drop trigger if exists 触发器名称;