加入收藏 | 设为首页 | 会员中心 | 我要投稿 鄂州站长网 (https://www.0711zz.com/)- 数据分析、网络、云渲染、应用安全、大数据!
当前位置: 首页 > 数据库 > MySql > 正文

程序员应知应会之数据库中的触发器

发布时间:2023-12-21 13:57:45 所属栏目:MySql 来源:DaWei
导读: 在信息技术发展的早期阶段,由于数据量不是很大,为维持数据完整性、维护一定数据标准的原因,因此开发了触发器技术。但是随着信息技术的发展mysql触发器,信息系统日益成为人们生

在信息技术发展的早期阶段,由于数据量不是很大,为维持数据完整性、维护一定数据标准的原因,因此开发了触发器技术。但是随着信息技术的发展mysql触发器,信息系统日益成为人们生活中必需的一部分,因此,触发器技术也就随着技术的发展,逐渐脱离了主流的应用场景。但是作为一种功能设计,触发器技术也是一名合格的程序员所需要了解的一部分。今天我们就来看看数据库触发器的特点及应用。

一、触发器的概念

触发器是与表有关的数据库对象,在满足预定义的条件时会被触发,从而执行触发器中定义的语句集合。

二、触发器什么时候会被触发

在数据库进行数据变更的时候,触发器可以被触发。即对数据表进行插入、删除、修改数据的时候,可以执行触发器。触发器定义在表上,也依附于表存在。触发器可以在数据表变更进行前执行,也可能在变更进行后执行。触发器对于每一行都会被执行。

三、触发器的作用

1、安全性:触发器能够基于数据库的值使用户具有操作数据库的权限,也可以基于时间等因素限制用户的操作,比如不在节假日修改数据,或者不允许股票一次涨跌超过10%。

2、审计功能:触发器能够跟踪用户对于数据库的每个操作,并且把用户对于数据的操作写入审计表。对于某些重要,而且数据不会被大量操作的系统来讲,是一个非常有意义的功能。

3、数据完整性:可以实现数据库本身无法提供的,非标准的数据完整性检查和约束,触发器能够引用列或数据库对象。或者提供基于其它字段的,可变的默认值。

mysql触发器_灵魂触发者结局怎么触发_示波器内触发和外触发

四、MySQL中如何创建触发器

MySQL从5.0.1版本开始提供触发器功能,MySQL中创建触发器的语句如下:

创建单行执行语句的触发器:

create trigger 触发器名 before|after 触发条件

on 表名 for each row

执行语句;

创建多行执行语句的触发器:

create trigger 触发器名 before|after 触发条件

on 表名 for each row

begin

执行语句;

end;

在触发器中,有系统变量NEW和OLD,分别代表触发了触发器的那一行数据的旧值和新值。例如

create trigger trigger_test2 after insert

on user for each row

insert into user_logs

values(now(),concat('有新用户添加,新用户为:',NEW.username));

示波器内触发和外触发_灵魂触发者结局怎么触发_mysql触发器

五、触发器的缺点

如果批量插入数据,比如说插入500条数据,那么就需要触发500次触发器,大大增加了系统开销。尤其是如果触发器中进行了大量的操作的话,系统的效率就会非常低下。因此,应减少触发器的使用,以减少系统资源的消耗。对于修改非常频繁地表上,不要使用触发器。尤其对于用户体验非常重视的互联网公司,通常都是禁止在数据库中使用触发器的。

(编辑:鄂州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章