mysql 定期刪除表中無用資料

2021-08-03 12:39:44 字數 791 閱讀 3069

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...