mysql删除指定⽇期前数据需求
由于数据上报产⽣数据量过⼤,因此需要定期删除⽆⽤数据。
程序⽅式
mysql语句如下:
1DELETE FROM t_iot_cb_device_data_changed WHERE EVENT_TIME IS NULL OR DATE(EVENT_TIME) <= DATE(DATE_SUB(NOW(),INTERVAL 15 DAY))
其中EVENT_TIME为要进⾏判断的时间依据。
此处为删除15天以前的数据,若需要删除⼏个⽉以前的数据,(以三个⽉为例)则为 INTERVAL 3 MONTH。通过存储过程解决
1. 创建存储过程
1 2 3 4 5DROP PROCEDURE IF EXISTS pro_clean_data;
CREATE PROCEDURE pro_clean_data()
BEGIN
DELETE FROM t_iot_cb_device_data_changed WHERE EVENT_TIME IS NULL OR DATE(EVENT_TIME) <= DATE(DATE_SUB(NOW(),INTERVAL 15 DAY));
END
2. 创建事件
1 2 3 4CREATE EVENT IF NOT EXISTS event_time_cleaner
ON SCHEDULE EVERY 1 DAY STARTS '2018-12-19 01:00:00' ON COMPLETION PRESERVE
DO CALL pro_clean_data();
mysql中delete语句
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论