一、程式設計題
在資料庫db_test中建立一個事件,用於每個月將表content中姓名為“MySQL初學者”的留言人所發的全部留言資訊刪除,該事件開始於下個月並且在2013年12月31日結束。
二、簡答題
1.請解釋什麼是事件?
2.請簡述事件的作用。
3·請簡述事件與觸發器的區別。
【參考答案】
一、程式設計題
在MySQL命令列客戶端輸入如下SQL語句即可實現:
mysql>USE db_test;
Database changed
mysql>DELIMITER$$
mysql>CREATE EVENT IF NOT EXISTS event_delete_content
—> ON SCHEDULE EVERY l MONTH
—>STARTS CURDATE()+INTERVAL l MONTH
—>ENDS’2013—12—31’
—>DO
—>BEGIN
—>IF YEAR(CURDATE())<2013 THEN
—>DELETE FROM content
—>WHERE username=’MySQL初學者’;
—>END IF;
—>END$$
Query OK。0 rows affected(2.35 see)
二、簡答題
1.事件就是需要在指定的時刻才被執行的某些特定任務,其中這些特定任務通常是一些確定的語句。
2.事件可以根據需要在指定的時刻被事件排程器呼叫執行,並以此可取代原先只能由作業系統的計劃任務來執行的工作。
3.事件和觸發器相似,都是在某些事情發生的時候才被啟動,因此事件也可稱作臨時觸發器(temporal trig—ger)。其中,事件是基於特定時間週期觸發來執行某些任務,而觸發器是基於某個表所產生的事件觸發的,它們的區別也在於此。