温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MySQL数据库提升篇-----触发器

发布时间:2020-08-05 12:40:42 来源:网络 阅读:491 作者:孤独一夜 栏目:MySQL数据库

day06 MySQL数据库提升篇-----触发器

一、触发器概述:

    触发器是什么?能有什么作用?能给我们带来什么样的操作数据库的方法这都在这里学一一的告诉大家。触发器原理类似于扳机的原理,当你一点击触发的时候就会产生相应的后续动作。下面就具体的创建和使用一下触发器。


二、触发器(trigger):

    1、创建触发器

        create trigger 触发器名  before |  after  触发事件
        on 表名 for each row 
        begin
            执行语句;
        end;
        译:
            before |  after:表示触发器执行的时间,前者是表示触发前执行,
                             后者是表示触发时间之后执行
            触发事件:触发事件代表“insert”、“update”、“delete”三种操作
            表名:指定的触发时间操作的表的名称
            for each row :表示任何一条记录上的操作满足触发器事件都会触发该触发器
            begin ... end:表示开始到结束标签。
            执行语句:表示触发器被触发以后执行的程序。

    实例一:

        创建一个响应delete操作的触发器

        create trigger dlt after delete
        on student for echo row
        begin
            delete username from student;
        end;
        译:
            创建的触发器名:dlt
            触发器执行时间:after
            事件名:删除操作(delete)
            表名:student
            执行语句:从begin.....end之间的删除语句。

    2、创建多个执行语句的触发器

        create trigger 触发器名  before |  after  触发事件
        on 表名 for each row 
        begin
            执行语句1;
            执行语句2;
            执行语句3;
        end;
        译:
            before |  after:表示触发器执行的时间,前者是表示触发前执行,
                             后者是表示触发时间之后执行
            触发事件:触发事件代表“insert”、“update”、“delete”三种操作
            表名:指定的触发时间操作的表的名称
            for each row :表示任何一条记录上的操作满足触发器事件都会触发该触发器
              begin ... end:表示开始到结束标签。
            执行语句1:表示触发器被触发以后执行的程序1。
            执行语句2:表示触发器被触发以后执行的程序2。
            执行语句3:表示触发器被触发以后执行的程序3。

    实例二:

        创建一个响应delete操作的多个触发器

        create trigger dlt after delete
        on student for echo row
        begin
            insert into timelog(savetime) values(new());
            insert into timeinfo(info) values('deleteact');
        end;
        译:
            创建的触发器名:dlt
            触发器执行时间:after
            事件名:删除操作(delete)
            表名:student
            执行语句体:从begin.....end之间的删除语句。

    3、查看触发器

        show trigger;

        3.1、查看trigger表中触发器信息

            select * from infomation_schema.trigger;
            译:
                infomation_schema:是MySQL中默认存在的数据库,用于记录触发器信息的数据表

        3.2、方法二查看

            select * from infomation_schema.trigger where trigger_name='触发器名称';

    4、应用触发器

        触发器的应用就是在你创建成功以后,单独的向表中执行相应的sql语句操作。通过查询去看看你执行的sql语句是否成功。查看timeinfo数据表的插入情况好而被首先执行的顺序。

    5、删除触发器

        drop trigger 触发器名称;


三、结束语:

    学到这里,我们的触发器就学完了,我们可以利用触发器进行数据的备份效果,当你删除某一条数据的时候,我将这条数据新建存储到另外的一张表中。这些都可以通过触发器实现的。想很好的操作触发器就不断的去实验和运用。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI