如何在使用日期作为查询条件的同时,每天自动执行mysql查询?

时间:2019-03-28 08:17:10

标签: mysql sql automated-tests mysql-workbench

我在一家公司工作,我们处在每天(前一天)都要进行mysql查询以检查一些数字的情况。我被分配给它,每天早晨有大约10个查询要运行。我想知道是否有办法每天都可以自动执行这些查询。我不介意登录到工作台一次运行所有内容?唯一棘手的部分是我们使用的是澄清日期,由于我必须在前一天运行查询,因此澄清日期必须每天增加。

其中一个查询的示例。

select count(*) from item_sales
where code = 12
and date = 79686;

这是一个较早的澄清日期,但每天都必须增加。

最好每天收到一封电子邮件。

2 个答案:

答案 0 :(得分:0)

您可以使用一个简单的脚本,该脚本将:

  • 获取前一天的时间戳
  • 将其转换为声明日期格式
  • 运行SQL查询,获取结果
  • 发送包含结果的电子邮件

测试并运行后,创建一个简单的crontab,指定您希望每天运行脚本。

答案 1 :(得分:0)

您可以在下面的查询中注明声明日期

query="select count(*) from item_sales
where code = 12
and date = DATEDIFF(now(),'1800-12-28')";

您可以编写shell脚本或php脚本并设置cronjob来运行此查询并获取结果并发送带有结果的邮件。

Shell示例:

data=`mysql -u $user --password=$password -e $query`;

echo "Total Count :$data" | mail -s "subject" someone@somewhere.com