定时执行MySQL语句的二种方法

需求:在某些活动结束时,需要在某个时间点及时统计查询游戏数据。

 

实现:两种方法

 

一、使用mysql.exe+at/计划任务

 

D:/mysql/bin/mysql.exe  -u"username" -p"password" dbname --execute="delete from table1;select * from table2" >> c:/result.txt

 

    打开指定数据库,并执行了两条sql语句,并将结果导向到c盘的result.txt文件。然后可以使用at 命令和计划任务来定时执行,当然可以再加上ftp命令来将查询结果文件上传到指定机器上。

 

linux 中

 

/usr/bin/mysql  -u"username" -p"password" dbname --execute="delete from table1;select * from table2" >> /tmp/result

 

特点:需要开启计划任务。

 

二、 使用mysql events功能

 

先开启此功能

 

set global event_scheduler = 1;

 

下面的语句就是在指定时间运行定义好的sql语句,更加详细的用法可以查看mysql帮助文档。

 

create event test on schedule at timestamp '2009-09-09 09:00:00' do select * from db1.table1 into outfile 'result.txt ';

 

特点:mysql版本必须是5.1.6以上才支持,同时会对性能可能会造成一定程度的影响。

你可能感兴趣的:(MySQL,mysql,table,delete,任务,events,sql)