【MySQL学习笔记】视图,存储过程

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;

你可能感兴趣的:(MySQL,mysql,学习,笔记)