本文所使用的数据库样例请参见数据源表

1.触发器

触发器是程序员设定的在特定条件下将会执行的语句集合

1.1 创建触发器语法

delimiter 99
create trigger trigger_name
after(before) trigger_event
on table_name
for each row
begin##sentence body
end 99
delimiter ;

备注
trigger_name可以是insert\update\delete

1.2 实例代码

 DELIMITER 99CREATE TRIGGER myTreggerAFTER DELETE ON classFOR EACH ROWBEGINIF(old.`classNo`=1)THENDELETE FROM blur_class_student WHERE blur_class_student.`classNo`=1;END IF; END 99DELIMITER ;

备注
old 和 new 顾名思义表示表格中老的数据和新插入(删除、更新)的数据,具体列的名称可以通过 . 的方式,点出来

1.3 执行触发器

 DELETE FROM class WHERE class.`classNo`=1;SELECT* FROM blur_class_student;SELECT* FROM class;

发现删除class表中班号为1的成员,blur_class_student表中班号为1的成员也会消失

本部分内容部分参考自trigger

1.4 其它语句

删除触发器

drop trigger trigger_name;

更新触发器

更新出发器采用删除重建的方式

2.事件

事件是指某时间时间段内在数据库中插入一条记录(或者定时清楚数据库中无效的数据)

2.1 定义格式

使用前请在sql中执行以下语句

#表示打开全局事件
SET GLOBAL event_scheduler=1;
delimiter 99
create event event_name
on schedule `schedule`
on completion [not] preserve
enable(disable)
do
begin##sentence body
end 99
delimiter ;
2.1.1备注

备注1
schedule 可以是

  1. at+时间——用来完成单次的计划任务
  2. every+时间+(starts+时间+ends+时间)——用来完成重复的计划任务

获取当前时间-datetime\timestamp(详细说明请见文末)
时间的单位可以是 YEAR MONTH DAY HOUR MINUTE SECOND
备注2
on completion [not] presevre表示当计划执行完成后事件信息是否保留
备注3
enable\disable 表示执行(不执行)该事件,也可以在外面设置是否执行,语句为:

alter event event_name enable(disable);

2.2 实例

 SET GLOBAL event_scheduler=1;#已打开请忽略此句DELIMITER 99CREATE EVENT myEvent1ON SCHEDULE EVERY 2 DAY STARTS TIMESTAMP()+7 DAY  ENDS TIMESTAMP()+1 MONTHON COMPLETION PRESERVEENABLEDO BEGININSERT INTO `engine_test` VALUES(DAY(NOW()),'sdf','wqer');END 99DELIMITER ;

2.3 其它语句

删除事件

drop event event_name;

更新事件

更新事件采用删除重建的方式

事件部分整理自事件

数据库_触发器和事件相关推荐

  1. 双 JK 触发器 74LS112 逻辑功能。真值表_【第十章】触发器和事件

    Mosh_完全掌握SQL课程_学习笔记 数据概要 [第十章]触发器和事件 Triggers and Events (时长22分钟) 1. 触发器 Triggers (7:31) 小结 触发器是在插入. ...

  2. 【MySQL数据库设计与应用(六)】存储程序(存储过程,存储函数,触发器,事件)

    文章目录 1 存储程序介绍 1.1 什么是存储程序 1.2 存储例程 1.3 触发器 1.4 事件 2 创建和调用存储过程 2.1 创建和调用存储过程 2.2 存储过程的参数模式 2.3 存储过程返回 ...

  3. mysql利用触发器删除数据库_[数据库]mysql 触发器的创建 修改 删除

    [数据库]mysql 触发器的创建 修改 删除 0 2015-12-16 23:00:04 //做一个简单的练习,创建一个简单的触发器 完成添加文章的时候,自动加上时间,默认作者 为 '日记本的回忆' ...

  4. mysql 修改数据库的数据库_如何更改MySQL数据库的数据库名

    展开全部 被取消的命令MySQL 之前提供了一个 rename database db_old to db_new 的命令来直接对数据库改名,可能由于实现的功能不完备(比62616964757a686 ...

  5. 浅谈SQL Server 数据库的触发器

    浅谈SQL Server 数据库的触发器   触发器的特征: 1.触发器是在对表进行增.删.改时,自动执行的存储过程.触发器常用于强制业务规则,它是一种高级约束,通过事件进行触发而被执行. 2.触发器 ...

  6. pl/sql操作数据库之触发器的使用

    pl/sql操作数据库之触发器的使用 这篇文章讲述的是pl/sql操作数据库之触发器的使用,如有错误或不当之处,还望各位大神批评指正. 什么是触发器? 触发器是许多关系数据库系统都提供的一项技术.在O ...

  7. oracle数据库有触发器,Oracle数据库触发器(Triggers)

    触发器是一种自动执行响应数据库变化的程序.可以设置为在触发器事件之前或之后触发或执行.能够触发触发器事件的事件包括下面几种: DML事件 DDL事件 数据库事件 DML事件触发器可以是语句或行级触发器 ...

  8. oracle触发器 触发事件,oracle 触发器的种类和触发事件

    oracle触发器的种类和触发事件,DML触发器,DDL事件触发器,替代触发器,查看触发器 触发器的种类和触发事件 触发器必须由事件才能触发.触发器的触发事件分可为3类,分别是DML事件.DDL事件和 ...

  9. 数据库中触发器的作用是什么?

    数据库中触发器的作用是什么? 什么是触发器 触发器是一种特殊的存储过程,只能由事件驱动调用,而无法直接调用. 触发器有什么用 当对数据库的相关对象(数据库.表.视图)进行某些特定的操作时,数据库会自动 ...

最新文章

  1. 吴恩达:企业如何实现人工智能转型?
  2. 雁栖湖会议研讨:计算机能代替程序员吗?
  3. Postfix的bcc邮件备份
  4. c 后台代码调用ajax,.NET Selenium WebDriver操作调用浏览器后台执行Js(JavaScript)代码...
  5. 《软件需求模式》阅读笔记一
  6. 机器人铁锈斑斑好吗_工业机器人系统运维员是什么职业?这个职业好吗?
  7. python_day_5:20180720
  8. RPC实现Consumer 远程调用
  9. HiveQL: 数据定义
  10. Python DearPyGui 多线程与异步
  11. C++基础::函数、类、类型所在的头文件 接口的介绍
  12. sudo修改文件夹名字_用 Python 高效智能管理文件夹
  13. java 从m个数中均匀找出n个数_M个数里面找出最大的N个数
  14. numpy——numpy.corrcoef
  15. otrs软件_开源 IT 服务管理软件(ITSM) - OTRS
  16. CTO 说公司的 ES 性能不够好、集群不够稳定!直到我用了这些调优技巧后。。。...
  17. 预测混合模式发展前景计算机,基于混合模式的网络流量分类优化-计算机技术专业论文.docx...
  18. 一分钟了解矩阵、方阵、对角矩阵、单位矩阵之间的关系
  19. pbe近似_量子化学中的主要近似
  20. LINUX基础之 压缩归档篇(二)

热门文章

  1. web端拉取m3u8直播流,进行播放
  2. 思迈特软件Smartbi:掌控生产状况,报表开发效率提升30倍的秘密
  3. 文献解读:HOXA家族成员在喉鳞状细胞癌中的表达谱及预后价值
  4. SDUTOJ 3865 珈百璃的堕落 大数取膜
  5. 快速解决MySQL插入中文数据时报错或乱码问题
  6. openwrt mqtt客户端(五)
  7. python官网下载安装教程
  8. DAY09_继承拼图游戏案例
  9. 51单片机生日快乐歌c语言,51单片机演奏音乐“祝你生日快乐”
  10. 结构化与面向对象化之应用比较