mysql笔记

第11章 触发器和事件

1.触发器(trigger):

是一个被指定关联到表的数据库对象,与表的关系密切,它不需要用户调用,而是在一个表的特定事件出现时将会被激活,此时某些MySQL语句会自动执行

2.触发器的创建、制除和使用

(1)创建: dellimiter //

CREATE TRIGGER 名称时间(before/after)事件(insert/update/delete)

ON 表名FOR EACH ROW begin

触发体语句: end // delimiter;

注意:在触发器的创建中,每个表每个事件每次只允许一个触发器,所以每条INSERT,UPDATEDELETE的前或后可创建一个触发器,每个表最多可创建6个触发器。(2) 验证使用::

aINSERT触发器:在INSERT语句执行之前或之后执行。

(a)NERT触发器的触发体内可引用一个名为NEW的拟表来访问被播入的行。(b)在BEFOREINSERT触发器中,NEW中的值可以被更新,但after后不能更新。

b.UPDATE触发器:在UPDATE逝句执行之前成之后执行。

(a)UPDATE触发器的触发体内可引用一个名为OLD的虚拟表来访问更新以前的值

也可引用一个名为NEW的虚拟表来访问更新以后的值。

(b)在BEFORE UPDATE触发器中,NEW中的值可能已被更新,但after后不能更新。(c)OLD中的值不能被更新。

CDELETE触发器:在DELETE语句执行之前现之后执行。

(a)DELETE触发器的触发体内可引用一个名为OLD的虑拟表来访问被删除的行。(b)OLD中的值不能被更新。

(3)副除:DROPTRIGGER 名称

3.补充说明:

未读0条

(1)after是先完成数据的增删改,再触发,对new数据不能增删改;(2)before是先完成触发,再增制改,对new数据可以增删改;(3)after和before都不能对old数据增制改。

4.事件(Event):

(3)after和before都不能对old数据增删改。

4.事件(Event):

是在指定时刻才被执行的过程式数据库对象

(1)通过MySQL中一个很有特色的功能模块一事件调度器(Event Scheduler)进行监视,并确定其是否需要被调用。(2)事件调度器可以精确到每秒钟执行一个任务,比操作系统的计划任务更具实时优势。

(3)事件和触发器相似,都是在某些事情发生时启动,由于它们相似,所以事件又称为临时触发器(Temporal Trigger(4)区别:触发器是基于某个表所产生的事件触发的,而事件是基于特定的时间周期来触发的。(5)使用事件调度器之前,必须确保开启事件调度器。

5.事件的创建、修改和删除

(1)创建: delimiter //

create event 名称

on schedule 时间(at/every) do

begin

事件语句: end //

delimiter:

(2)修改: alter event名称(3)删除:drop event 名称

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值