欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-03 23:21:17
...

视图:

作用:重用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;

使用变量的复杂存储过程