mysql 存储过程 after_MySQL——视图\事务\存储过程

今日内容

视图

触发器

事务

存储过程

内置函数

流程控制

索引

视图

# 1、什么是视图?

视图就是通过查询得到的一张虚拟表,然后保存下来,下次直接使用即可

# 2、为什么使用视图?

如果频繁的使用一张虚拟表,可以不用反复的查询

# 3、如何使用视图?

create view teacher2course as

select * from teahcer inner join course on teacher.tid = course.teacher_id;

#4、如何删除视图

drop view teacher2course

注:

1.在硬盘中,视图只存在表结构文件,没有表数据文件

2.视图通常是用于查询,尽量不要修改视图中的数据

触发器

# 1、什么是触发器?

在满足对某张表数据的增改删的情况下自动触发的功能称之为触发器

# 2、为什么是要使用触发器?

触发器专门针对我们对某一张表数据结构的insert,drop,update的行为,这类的行为一旦触发执行就会触发触发器的执行,即自动运行另一段SQL代码

# 3、怎么创建触发器的语法?

# 针对插入

create trigger tri_after_insert_t1 after/before insert on 表名 for each row

begin

sql代码

end

# 针对删除

create triggle tri_after_delete_t1 after/before delete on 表名 for each

row

begin

sql 代码

end

# 针对修改

create triggle tri_after_update_t1 after/before update on 表名 for each

row

begin

sql 代码

end

# 案例

CREATE TABLE cmd (

id INT PRIMARY KEY auto_increment,

USER CHAR (32),

priv CHAR (10),

cmd CHAR (64),

sub_time datetime, #提交时间

success enum ('yes', 'no') #0代表执行失败

);

CREATE TABLE errlog (

id INT PRIMARY KEY auto_increment,

err_cmd CHAR (64),

err_time datetime

);

delimiter $$ # 将MySQL默认的结束符由;换成$$

create trigger tri_after_inser_cmd after insert on cmd for each row

begin

if NEW.sucess ='no' then # 新纪录都会被Mysql封装成New对象

insert into errlog(err_cmd,err_time)values(NEW.cmd,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值