mysql视图、存储过程等

视图:

需求: 创建的临时表(select * from tb1)被反复使用,这时可以为该临时表创建视图。视图相当于为某个查询创建了别名。

1、创建视图

create view v1 as select * from tb1;
create view 视图名 as sql语句;

2、删除视图

drop view v1;
drop view 视图名;

3、修改视图(alter)

alter view v1 as select * from tb2;
alter view 视图名 as sql语句;

注意:视图和原表的关系,原表改变,视图也会跟着改变;原表是物理实际存在的,视图是虚拟的;

    视图不推荐使用,一般直接在python代码中写子查询;


 

触发器:

在执行某一操作(增删改)之前或者之后额外再执行的操作

1、创建触发器

在之前执行:

delimiter $$
create trigger t1 before insert on tb1 for each row
begin
insert into tb2(number) values(111);
end $$
delimiter ;
delimiter $$   创建结束符
create trigger t1 before insert on tb1 for each row    创建触发器
begin    开始标志
insert into tb2(number) values(111);    触发器执行内容
end $$    结束标志
delimiter ;    修改结束符

在之后执行:

delimiter $$
create trigger t1 after insert on tb1 for each row
begin
insert into tb2(number) values(111);
end $$
delimiter ;

触发器还有:insert,delete,update,......

NEW 新数据:insert,update时有;NEW.....可以点出具体想要的数据

OLD老数据:delete,update时有

2、删除触发器

drop trigger t1

触发器也不常用


3、函数

(1)自定义函数

delimiter $$
create function func1(n1 int,n2 int) --创建函数
returns int
begin
    declare num int; --声明变量
    set num = n1 + n2;
    retutn (num)
end $$
delimiter ;

 

posted on 2018-10-25 20:31  andyAngelo  阅读(215)  评论(0编辑  收藏  举报