调度 MySQL 查询:综合答案
调度 MySQL 查询以特定时间间隔运行可以是数据分析和报告的有用工具。考虑以下场景,您有一个库存数据库并需要历史库存评估数据。
使用事件调度程序安排查询
MySQL 提供了事件调度程序功能,允许您根据时间表自动执行任务。要计划查询,请首先使用指定字段创建 stock_dumps 表:
CREATE TABLE stock_dumps (itemcode VARCHAR(255), quantity INT, avgcost DECIMAL(10,2), ttlval DECIMAL(10,2), dump_date DATETIME);
接下来,使用以下语法创建事件计划程序事件:
CREATE EVENT `Dumping_event` ON SCHEDULE EVERY 1 DAY ON COMPLETION NOT PRESERVE ENABLE COMMENT '' DO BEGIN INSERT INTO stock_dumps(itemcode, quantity, avgcost, ttlval,dump_date) SELECT itmcode, quantity, avgcost, (avgcost * quantity)as ttlval, NOW() FROM table_1 JOIN table_2 ON table_1.itmcode = table_2.itmcode; END;
此事件计划运行每天,将当前股票估值数据插入到 stock_dumps 表中。
使用 Cron 安排查询作业
或者,您可以使用 cron 作业 (Linux) 或 Windows 计划任务来自动执行此任务。使用以下查询创建 SQL 文件:
INSERT INTO stock_dumps(itemcode, quantity, avgcost, ttlval,dump_date) SELECT itmcode, quantity, avgcost, (avgcost * quantity)as ttlval, NOW() FROM table_1 JOIN table_2 ON table_1.itmcode = table_2.itmcode;
然后,安排以下命令以所需的时间间隔运行:
mysql -uusername -ppassword < /path/to/sql_file.sql
此方法允许您自定义调度间隔和使用命令行界面执行查询。
选择最适合您的要求的方法并自动执行 MySQL 查询,以实现高效的数据检索和分析。
以上是如何安排 MySQL 查询按设定的时间间隔自动运行?的详细内容。更多信息请关注PHP中文网其他相关文章!