MySQL从5.0.2版开始引入触发器,触发器就是一个已命名的数据库对象,这个对象和某张表 相关,而且当这张表发生某种特定事件后,触发器将被激活执行相应的动作,触发器允许这 些动作在这张表中的一行或多行的数据被操作的前后执行。
1.语法:( 步长)触发间隔
CREATE TRIGGER <触发器名称>
{ BEFORE | AFTER }
{ INSERT | UPDATE | DELETE }
ON <表名称>
FOR EACH ROW <--
<触发的SQL语句>
触发器的执行间隔:FOR EACH ROW子句通知触发器
每隔一行执行一次动作,而不是对整个表执行一次。
2. NEW,OLD
在触发器的SQL语句中,你可以关联表中的任意列。但你不能仅使用列的名称去标识,那会使系统混淆,因为那里可能会有列的新名(这可能正是你要修改的,你的动作可能正是要修改列名),还有列的旧名存在。因此你必须用这样的语法来标识: "NEW . column_name"或者"OLD . column_name".这样在技术上处理(NEW | OLD . column_name)新和旧的列名属于创建了过渡变量("transition variables")。
3.简单实例
delimiter $$
create trigger groups_forSchool
before insert on groups
for each row
begin
set NEW.school='scut';
end $$
delimiter ;
当我们要向表中的行插入时,触发器就会被激活,执行将school列的值改为'scut'的动作。
4.加密实例
一个客户数据库中包含客户密码pwd,管理员必须将这些信息加密后存入磁盘。针对这种情况,管理员可以通过创建一个触发器来自动获取并加密这些数据然后再插入相应的数据库表中。如下所示:(参考 小题大作)
mysql> delimiter //
mysql> create trigger t_customer_insert before insert on customer
-> for each row
-> begin
-> set NEW.pwd = aes_encrypt(NEW.pwd,'password');
-> end;
-> //
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;
mysql> insert into customer values (1,'fred','smith','456097234');
Query OK, 1 row affected (0.00 sec)
mysql> select * from customer;
可以看出存在磁盘数据库表中的客户密码pwd已经变成加密后的不可读乱码格式。
/* 加密函数:AES_ENCRYPT(str,key_str)*/
分享到:
相关推荐
在学习和使用MySQL 5.0触发器的过程中,你可以参考提供的书籍教程《MySQL 5.0 触发器》。这本书可能涵盖了触发器的基础概念、创建和管理触发器的方法、示例应用以及最佳实践。同时,文件`下载说明.txt`可能包含获取...
MySQL 5.0触发器是数据库管理系统中一种强大的工具,用于自动执行特定操作,当数据库中的数据发生变化(如INSERT、UPDATE或DELETE)时。在本教程中,我们将深入探讨触发器的基本概念、用途以及如何在MySQL 5.0中创建...
MySQL 5.0是MySQL数据库管理系统的一个早期版本,它在当时提供了可靠且高效的数据存储解决方案。MySQL是一款开源的关系型数据库管理系统(RDBMS),由瑞典的MySQL AB公司开发,后来被Oracle公司收购。它的设计目标是...
1. **关系型数据库模型**:MySQL 5.0基于SQL标准,支持创建和管理表、视图、索引、触发器和存储过程等数据库对象,实现了关系型数据库的主要特性。 2. **安装与配置**:在32位操作系统上安装mysql-5.0.67-win32文件...
MySQL 5.0 版本引入了存储过程、触发器、视图等高级特性,提高了数据库的灵活性和性能。 1. **安装与解压**:MySQL 5.0 解压版意味着它不需要经过传统的安装过程,只需要将压缩包解压到指定目录。首先,找到下载的...
5. **SQL 改进**:MySQL 5.0 提供了更完整的 SQL 支持,包括窗口函数、存储过程、触发器、视图、用户定义函数(UDF),以及改进的查询优化器。 6. **安全性**:此版本加强了安全性,包括更强大的认证机制(如 SSL ...
2. **触发器与存储过程**:MySQL5.0开始支持触发器和存储过程,这使得数据库能够执行更复杂的业务逻辑,无需在应用程序层面处理,简化了数据库的管理和维护。 3. **分区功能**:在MySQL5.0中,数据库表可以被分区,...
- MySQL 5.0 引入了触发器和存储过程,使得开发者可以在数据库级别实现复杂业务逻辑,提高了应用程序的效率。 8. **XML支持**: - MySQL 5.0 开始支持XML格式的数据,便于数据交换和集成其他系统。 9. **网络...
MySQL5.0免安装版是一款无需复杂安装过程的数据库管理系统,它允许用户快速启动并使用MySQL服务,尤其适合开发者在测试环境或者临时项目中快速部署。这个版本的MySQL以其便捷性和高效性受到许多用户的青睐。 MySQL...
3. **触发器和存储过程**:MySQL 5.0引入了触发器和存储过程,允许用户在数据库级别定义复杂的业务逻辑,提高了代码复用性和数据库管理效率。 4. **分区功能**:对于大型数据表,MySQL 5.0提供了分区功能,可以将一...
首先,MySQL5.0引入了增强的SQL支持,包括对存储过程、触发器、视图和事务处理的支持。这些特性使得MySQL5.0能够处理更复杂的业务逻辑,增强了其在企业级应用中的能力。存储过程允许开发者将一系列SQL语句打包成一个...
这份“mysql5.0中文使用手册”为那些对英文文档不熟悉的用户提供了一条便捷的学习路径,它涵盖了MySQL 5.0的所有主要功能和操作。 手册可能包括以下内容: 1. **安装与配置**:介绍如何在不同操作系统上安装MySQL ...
MySQL5.0是MySQL数据库管理系统的一个重要版本,它在数据库领域具有广泛的使用,尤其适合中小型企业及个人开发者。本文将详细介绍MySQL5.0的安装过程及其相关知识点。 首先,MySQL5.0.22是该版本的一个具体发行版,...
MySQL 5.0是MySQL数据库管理系统的一个重要版本,专为Windows操作系统设计,提供高效、可靠的数据库服务。在本文中,我们将深入探讨MySQL 5.0的关键特性、安装过程以及与数据库相关的基础知识。 **1. MySQL简介** ...
MySQL 5.0是MySQL数据库管理系统的一个重要版本,它在2005年发布,带来了许多新特性和改进。MySQL是一种流行的开源关系型数据库管理系统(RDBMS),因其高效、可靠且易于使用而广受开发者喜爱。以下是关于MySQL 5.0...
根据提供的文件信息,本文将重点解析 MySQL 5.0 版本中新引入的触发器功能,并结合描述中的信息深入探讨其特性和应用场景。 ### MySQL 5.0 触发器 #### 引言 MySQL 5.0 版本是一个重要的里程碑,因为它引入了许多...
MySQL 5.0引入了许多新特性和性能优化,如增强的存储引擎(包括InnoDB和MyISAM)、改进的查询优化器、支持存储过程、触发器和视图等。这些特性极大地提高了数据库管理的灵活性和功能性,为开发人员提供了更多处理...
- MySQL 5.0引入了触发器和存储过程,这允许在数据库级别定义自动执行的操作,提升了数据库的逻辑处理能力。 5. **分区** - 数据库分区是MySQL 5.0的一个新特性,它将大表分成多个物理部分,提高查询速度和管理...
这个“mysql5.0+详细教程”涵盖了从安装到实际操作的全过程,对于初学者和进阶用户都是极好的学习资源。 首先,我们需要了解MySQL 5.0的安装过程。`Setup.exe`文件通常是安装程序,这意味着教程可能包含了Windows...