mysql视图、存储过程等

本文详细介绍了SQL中视图和触发器的概念与用法,包括如何创建、修改和删除视图,以及如何创建在特定操作前或后执行的触发器。同时,文章还提到了视图和触发器的实际应用限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

视图:

需求: 创建的临时表(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 ;

 

转载于:https://www.cnblogs.com/zjsthunder/p/9852642.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值