mysql5.1.x版本中引入了一項新特性event,定期執行某些事物,這可以幫助我們實現定期執行某個小功能,不在依賴**去實現。
我現在有一張表,這張表中的資料有個特點,每天都會有大量資料插入,但是昨天的資料已經不存在一點價值。現在需要在mysql中建立
乙個定時器,每天刪除昨天之前的資料。
首選檢視mysql事件開啟情況
show variables
like
'event_scheduler'
;
預設情況下是關閉的,需要我們去打
set global
event_scheduler =
on;
建立定時器
create event kbk_del
on schedule every 1 day
do delete from dynamic_place where date_sub(curdate(), interval 2 day) <= date(gmt_datetime);
其中「kbk_del」為定時器的名字,「every 1 day」 為每天多執行
「delete from dynamic_place where date_sub(curdate(), interval 2 day) <= date(gmt_datetime);」就是sql語句 刪除兩天前資料
檢視你所建立地定時事件
select * from information_schema.events
刪除定時器
drop event kbk_del
MySQL刪除表中的資料
mysql刪除表中的資料有三種方法,分別是delete drop,truncate。一 delete刪除表中的資料 delete好from結合使用,格式一般為 delete from 表名 where 條件,delete刪除資料是將mysql表中的資料一行一行的刪除,不刪除表的結構,也不釋放表的空間...
MySQL刪除表資料
在mysql中有兩種方法可以刪除資料,一種是delete語句,另一種是truncate table語句。delete語句可以通過where對要刪除的記錄進行選擇。而使用truncate table將刪除表中的所有記錄。因此,delete語句更靈活。如果要清空表中的所有記錄,可以使用下面的兩種方法 d...
定期刪除Hive表的過期資料
由於hive中有很多表都是每日全量的,資料量比較大,有些是可以將過去歷史分割槽的資料進行刪除的,所以需要乙個定時執行的指令碼,定時刪除前七天的過期資料。注 此指令碼只針對分割槽欄位為日期型別 bin bash today date y m d today timestamp date d today...