搜索
首页数据库mysql教程MySQL5新特点(触发器)

MySQL从5.0.2版开始引入触发器,触发器就是一个已命名的数据库对象,这个对象和某张表 相关,而且当这张表发生某种特定事件后,触发器将被激活执行相应的动作,触发器允许这 些动作在这张表中的一行或多行的数据被操作的前后执行。在流行业务系统的处理过程中

MySQL从5.0.2版开始引入触发器,触发器就是一个已命名的数据库对象,这个对象和某张表 相关,而且当这张表发生某种特定事件后,触发器将被激活执行相应的动作,触发器允许这 些动作在这张表中的一行或多行的数据被操作的前后执行。在流行业务系统的处理过程中,开发和管理人员可以用触发器来实现数据审计和其他安全相关的功能,如在运行中的数据执行加密功能。
举个例子来说:一个客户数据库中包含客户的社会保险号,企业的安全和审计人员必须将这些信息加密后存入磁盘。针对这种情况,管理员可以通过创建一个触发器来自动获取并加密这些数据然后再插入相应的数据库表中。如下所示:
mysql> delimiter // 
mysql> create trigger t_customer_insert before insert on customer
    -> for each row
    -> begin 
    -> set NEW.customer_ssn = aes_encrypt(NEW.customer_ssn,'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;
结果显示如下图:
 
可以看出存在磁盘数据库表中的社会保险号ssn已经变成加密后的不可读乱码格式。
另外MySQL5也引进了对游标的支持,在第一个发行版本中游标有向前翻阅结果集和不可执行数据更新语句的特点。游标可以用在MySQL5的新编码对象,如存储过程和触发器,甚至是独立的存储过程逻辑块中。以下是一个在存储过程中的使用游标的简单例子:
mysql> delimiter // 
mysql> CREATE PROCEDURE cursor_demo()
    -> BEGIN 
    ->   DECLARE a, b CHAR(16); 
    ->   DECLARE cur1 CURSOR FOR SELECT id,data FROM test.t1;
    -> OPEN cur1; 
    -> REPEAT  
    ->  FETCH cur1 INTO a,b;
    -> UNDONE END REPEAT;
    -> CLOSE cur1; 
    -> END
    -> //
下面再举一个触发器的例子,该例子可以计算所有插入某表的某个列中的数值的和:
mysql> CREATE TABLE account (acct_num INT, amount DECIMAL(10,2));
mysql> CREATE TRIGGER ins_sum BEFORE INSERT ON account
    -> FOR EACH ROW SET @sum = @sum + NEW.amount;
可见触发器功能可以提高管理人员管理数据库的灵活性。

(51CTO.COM教程)


声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
深入解析scrapy框架的特点与优势深入解析scrapy框架的特点与优势Jan 19, 2024 am 09:11 AM

Scrapy框架是一个开源的Python爬虫框架,可用于创建和管理爬取数据的应用程序,它是目前市场上最流行的爬虫框架之一。Scrapy框架采用异步IO的方式进行网络请求,能够高效地抓取网站数据,具有可扩展性和稳定性等优点。本文将深入解析Scrapy框架的特点与优势,并通过具体代码示例来说明其高效稳定的操作方式。简单易学Scrapy框架采用Python语言,学

Canvas的受欢迎程度:什么让它如此备受喜爱?Canvas的受欢迎程度:什么让它如此备受喜爱?Jan 06, 2024 pm 05:06 PM

探索Canvas的特点:为什么它如此受欢迎?引言:在前端开发领域中,Canvas是一个广受欢迎的工具。它是HTML5提供的一个2D绘图API,通过JavaScript代码可以创建各种复杂的图形和动画效果。本文将探索Canvas的特点,并解释它为何如此受欢迎。同时,为了更好地理解Canvas的使用,我们会给出具体的代码示例。一、Canvas的基本特点:强大的功

探索java多线程的工作原理和特点探索java多线程的工作原理和特点Feb 21, 2024 pm 03:39 PM

探索Java多线程的工作原理和特点引言:在现代计算机系统中,多线程已成为一种常见的并发处理方式。Java作为一门强大的编程语言,提供了丰富的多线程机制,使得程序员可以更好地利用计算机的多核处理器、提高程序运行效率。本文将探索Java多线程的工作原理和特点,并通过具体的代码示例来说明。一、多线程的基本概念多线程是指在一个程序中同时执行多个线程,每个线程处理不同

计算机网络的特点是什么计算机网络的特点是什么Jan 11, 2021 pm 01:43 PM

计算机网络的特点是资源共享。计算机网络是实现资源共享和信息传递的计算机系统,它有着数据通信、资源共享、集中管理、分布式处理、负荷均衡等功能。

比较win8和win10的优缺点比较win8和win10的优缺点Jan 05, 2024 pm 06:36 PM

现在随着win10版本的到来很多小伙伴都进行了更新,但是还有非常多使用习惯了的win8小伙伴,那么win10和win8系统哪个更好一些呢?下面就给你们带来了详细介绍。win8和win10哪个好:1、两者相比下肯定是win10更好。2、无论从office软件的融合程度还是ie浏览器的使用方便性,win10都甩了win8一条街。3、为了让办公软件使用的更方便,微软更是office软件大幅度更新。4、所以win10可以更好的适配,对于办公族的小伙伴来说win10会更好。5、当然如果你win8系统使用习

Linux发行版的特点与优缺点及特色介绍Linux发行版的特点与优缺点及特色介绍Jan 27, 2024 am 09:36 AM

Linux最早由LinusBenedictTorvalds在1991年开始编撰,Linux各发行版本介绍及其异同点。在这之前,RichardStallman创建了FreeSoftwareFoundation(FSF)组织以及GNU项目linux发行版介绍,并不断的编撰创建GNU程序(这种程序的许可形式均为GPL:GeneralPublicLicense)。在不断的有杰出的程序员和开发者加入到GNU组织中后,便铸就了明天我们所见到的Linux,或称GNU/Linux。Linux的发行版本可以大体分

Tomcat与Nginx:特性与功能比较分析Tomcat与Nginx:特性与功能比较分析Dec 28, 2023 am 09:47 AM

Tomcat和Nginx是两种常见的网络服务器软件,广泛应用于Web应用程序的部署和管理。虽然它们都是面向Web服务器领域的软件,但是在一些方面有着显著的不同。本文将对Tomcat和Nginx的特点和功能进行对比分析,以便更好地理解它们的异同之处。特点对比Tomcat是一种基于Java的开源Web服务器,它是JavaServlet和JavaServerP

Go 语言中的文件系统操作的特点是什么?Go 语言中的文件系统操作的特点是什么?Jun 10, 2023 am 09:10 AM

Go语言是一门非常流行和强大的编程语言,它具有很多出色的特性和功能,其中之一就是它对文件系统操作的支持。在本文中,我们将会探讨Go语言中文件系统操作的特点。Go语言的文件操作模块非常完善,提供了一系列的文件操作方法,如创建、读取、写入、删除文件,以及相关的目录操作方法,如创建、读取、写入、删除目录。Go语言中文件系统操作的主要特点如下。简便性Go

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具