9. 触发器和事务处理
前言
表的增删改查:
1️⃣ :mysql环境准备
2️⃣ :简单的表查询
3️⃣ :通配符+正则表达式
4️⃣ :mysql函数与分组
5️⃣ :子查询联结查询组合查询
6️⃣ :mysql全文本搜索
7️⃣ :表的增删改查
一个一个小模块:
:eight: :视图+存储过程+游标的简单使用
第一部分:我们准备环境:安装数据库+创建数据库+创建用户+授权。
第二部分:环境准备好后,进行简单的单表查询:导入表+表查询。
第三部分:通配符和正则表达式,增强where的筛选功能。
第四部分:对列进行计算处理称为字段。复杂的字段用函数处理。按照不同组汇总,进行分组操作。
第五部分:在多表上进行查询:子查询+联结查询+组合查询。
第六部分:mysql的全文本搜索。
第七部分:表的删改查。
前七部分组成表的增删改查。 之后都是一个一个小模块的介绍。
第八部分:视图是虚拟的表;存储过程是一条或多条MySQL语句的集合;对于填有数据的游标,根据需要取出(检索)各行;
现在是第九部分:参考《mysql必知必会》chapter 25~26,触发器+事务处理
[toc]
摘要与总结
想要某条语句(或某些语句)在事件发生时自动执行 ---> 产生了触发器
保证成批的MySQL操作要么完全执行,要么完全不执行 ---> 数据库的事务处理
触发器
Q:为什么需要触发器
想要某条语句(或某些语句)在事件发生时自动执行。
eg:每当订购一个产品时,都从库存数量中减去订购的数量。
Q:定义下触发器,定不定义就那样吧
在某个表发生更改时自动处理。这确切地说就是触发器。
触发器是MySQL响应INSERT、DELETE、UPDATE而自动执行的一条MySQL语句。
所以,我们也可以将触发器分下类:INSERT型触发器、DELETE型触发器、UPDATE型触发器
在具体使用触发器的时候,还得补充两个表:NEW表、OLD表
在INSERT型触发器中,NEW用来表示将要(BEFORE)或已经(AFTER)插入的新数据;
在DELETE型触发器中,OLD用来表示将要或已经被删除的原数据;
在UPDATE型触发器中,OLD用来表示将要或已经被修改的原数据,NEW用来表示将要或已经修改为的新数据;
OLD是只读的,而NEW则可以在触发器中使用 SET 赋值,这样不会再次触发触发器,造成循环调用
管理事务处理
Q:事务的来由
有些事情虽然分为几步,但是要么做,要么不做,不能做一半停下了。
这样才能保证数据库中数据的一致性。
关于事务处理需要知道的几个术语
事务(transaction)指一组SQL语句;
回退(rollback)指撤销指定SQL语句的过程;
提交(commit)指将未存储的SQL语句结果写入数据库表;
保留点( savepoint)指事务处理中设置的临时占位符( placeholder),你可以对它发布回退(与回退整个事务处理不同)。
参考文章
最后更新于
这有帮助吗?