mysql视图、存储过程、游标、触发器、事务、控制访问

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_42948022/article/details/102615966

视图:

作用:重用sql,保护数据,更改数据模式不改表本身。
本质:类似把子查询的结果转化为虚表。但又没有占内存的数据,只有一个结构。

create view myview1 AS
select 查询语句

show create view myview1;
drop view myview1;
更新时通常先删再重建。

视图对列的重格式化
create view myview1 AS
select concat('(', id, ',', name, ')') AS student_id, score
from students
order by students_id;
//select 后 students_id 字段就出现了所有可以在 order by里用。

关于视图的更新

可以更新。但要在不影响逻辑的情况下。(有聚集函数,count(),更新后就不是到加的哪一行怎么加,加什么数据)
视图更新会影响原来的表的内容。(试图表结构会直接被拒绝执行))
视图本身是为了方便查询,一般不建议更新。

存储过程

多条语句顺序执行的封装。
优点:调用简单,提高性能,安全。

create procedure myprocedure1()
begin
	select avg(price) AS avg_price
	from goods;
end;

call myprocedure1();

drop procedure  myprocedure1;drop procedure myprocedure1 if exists;
show create procedure myprocedure1;

使用变量的复杂存储过程

猜你喜欢

转载自blog.csdn.net/qq_42948022/article/details/102615966