1.视图
视图是虚拟的表,与包含数据的表不一样,视图只包含使用时动态检索数据的查询。
为什么要用视图?
- 重用sql语句
- 简化复杂的sql操作
- 使用表的组成部分而不是整个表
- 保护数据。即用户有权访问特定部分而不是拥有整个表的访问权限
要明白的一点:视图仅仅是用来查看存储在别处的数据的一种设施,它本身并不包含数据。他们返回的数据是从其他表中检索出来了,因此,当添加或改变这些表的数据时,视图会返回改变过后的数据。
1.1视图的规则与限制
- 唯一命名:不能与其他视图或表的名称重复
- 创建视图的数目不限制
- 创建视图需要一定的访问权限,这由数据库管理员授予
- 视图可以嵌套
1.2创建视图
create view view_female as
select sid, sname, sex, birthday
from student
where sex = '女'
with check option;
2.存储过程
简单来说,就是为以后的使用而保存的一条或多条mysql语句的集合。
2.1创建存储过程
CREATE PROCEDURE 存储过程名称(参数模式 参数名 参数类型)
BEGIN
存储过程体
END
参数:
in:传递给存储过程
out:从存储过程传出
inout:对存储过程的传入传出
关键字into:将select的值传入into后接的变量
2.2执行存储过程
CALL procedure_name(@xxx,@xxx);
call接受存储过程名字以及需要传递给它的参数,
注意,mysql所有变量都必须@开头
2.3删除存储过程
与创建和执行存储过程不同的是,删除时,存储过程的名字后不需加()。
drop procedure proc_name;