国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL數據庫提升篇-----觸發(fā)器

2024-07-24 12:35:13
字體:
來源:轉載
供稿:網友
       day06 MySQL數據庫提升篇-----觸發(fā)器
 
一、觸發(fā)器概述:
 
     觸發(fā)器是什么?能有什么作用?能給我們帶來什么樣的操作數據庫的方法這都在這里學一一的告訴大家。觸發(fā)器原理類似于扳機的原理,當你一點擊觸發(fā)的時候就會產生相應的后續(xù)動作。下面就具體的創(chuàng)建和使用一下觸發(fā)器。
 
二、觸發(fā)器(trigger):
 
    1、創(chuàng)建觸發(fā)器
 
        create trigger 觸發(fā)器名  before |  after  觸發(fā)事件
        on 表名 for each row
        begin
            執(zhí)行語句;
        end;
        譯:
            before |  after:表示觸發(fā)器執(zhí)行的時間,前者是表示觸發(fā)前執(zhí)行,
                             后者是表示觸發(fā)時間之后執(zhí)行
            觸發(fā)事件:觸發(fā)事件代表“insert”、“update”、“delete”三種操作
            表名:指定的觸發(fā)時間操作的表的名稱
            for each row :表示任何一條記錄上的操作滿足觸發(fā)器事件都會觸發(fā)該觸發(fā)器
            begin ... end:表示開始到結束標簽。
            執(zhí)行語句:表示觸發(fā)器被觸發(fā)以后執(zhí)行的程序。
    實例一:
 
        創(chuàng)建一個響應delete操作的觸發(fā)器
 
        create trigger dlt after delete
        on student for echo row
        begin
            delete username from student;
        end;
        譯:
            創(chuàng)建的觸發(fā)器名:dlt
            觸發(fā)器執(zhí)行時間:after
            事件名:刪除操作(delete)
            表名:student
            執(zhí)行語句:從begin.....end之間的刪除語句。
    2、創(chuàng)建多個執(zhí)行語句的觸發(fā)器
 
        create trigger 觸發(fā)器名  before |  after  觸發(fā)事件
        on 表名 for each row
        begin
            執(zhí)行語句1;
            執(zhí)行語句2;
            執(zhí)行語句3;
        end;
        譯:
            before |  after:表示觸發(fā)器執(zhí)行的時間,前者是表示觸發(fā)前執(zhí)行,
                             后者是表示觸發(fā)時間之后執(zhí)行
            觸發(fā)事件:觸發(fā)事件代表“insert”、“update”、“delete”三種操作
            表名:指定的觸發(fā)時間操作的表的名稱
            for each row :表示任何一條記錄上的操作滿足觸發(fā)器事件都會觸發(fā)該觸發(fā)器
              begin ... end:表示開始到結束標簽。
            執(zhí)行語句1:表示觸發(fā)器被觸發(fā)以后執(zhí)行的程序1。
            執(zhí)行語句2:表示觸發(fā)器被觸發(fā)以后執(zhí)行的程序2。
            執(zhí)行語句3:表示觸發(fā)器被觸發(fā)以后執(zhí)行的程序3。
    實例二:
 
        創(chuàng)建一個響應delete操作的多個觸發(fā)器
 
        create trigger dlt after delete
        on student for echo row
        begin
            insert into timelog(savetime) values(new());
            insert into timeinfo(info) values('deleteact');
        end;
        譯:
            創(chuàng)建的觸發(fā)器名:dlt
            觸發(fā)器執(zhí)行時間:after
            事件名:刪除操作(delete)
            表名:student
            執(zhí)行語句體:從begin.....end之間的刪除語句。
    3、查看觸發(fā)器
 
        show trigger;
        3.1、查看trigger表中觸發(fā)器信息
 
            select * from infomation_schema.trigger;
            譯:
                infomation_schema:是MySQL中默認存在的數據庫,用于記錄觸發(fā)器信息的數據表
        3.2、方法二查看
 
            select * from infomation_schema.trigger where trigger_name='觸發(fā)器名稱';
    4、應用觸發(fā)器
 
        觸發(fā)器的應用就是在你創(chuàng)建成功以后,單獨的向表中執(zhí)行相應的sql語句操作。通過查詢去看看你執(zhí)行的sql語句是否成功。查看timeinfo數據表的插入情況好而被首先執(zhí)行的順序。
 
    5、刪除觸發(fā)器
 
        drop trigger 觸發(fā)器名稱;
三、結束語:
 
    學到這里,我們的觸發(fā)器就學完了,我們可以利用觸發(fā)器進行數據的備份效果,當你刪除某一條數據的時候,我將這條數據新建存儲到另外的一張表中。這些都可以通過觸發(fā)器實現的。想很好的操作觸發(fā)器就不斷的去實驗和運用。

(編輯:武林網)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 梧州市| 长沙市| 万全县| 高陵县| 噶尔县| 乐东| 普陀区| 尼玛县| 泰来县| 沛县| 芜湖县| 双江| 舟山市| 林周县| 云龙县| 雷山县| 宝丰县| 彭泽县| 红桥区| 东兰县| 赤峰市| 泸溪县| 安图县| 攀枝花市| 新建县| 眉山市| 托克逊县| 上杭县| 湖南省| 清徐县| 舒兰市| 集安市| 麻栗坡县| 蓬溪县| 佛山市| 博爱县| 延川县| 鄂伦春自治旗| 卓尼县| 兴业县| 琼中|