Py学习  »  DATABASE

在查询中将日期作为条件的同时,如何自动执行每天的MySQL查询?

Stiaan Wolfaardt • 7 年前 • 2087 次点击  

我在一家公司工作,在这种情况下,我们必须每天(前一天)进行MySQL查询以检查一些数字。我被分配到它,每天早上有大约10个查询要运行。我想知道是否有一种方法可以让我每天自动执行这些查询。我不介意登录到Workbench一次运行所有这些内容吗?唯一棘手的是我们使用的是Clarion日期,因为我必须运行前一天的查询,所以Clarion日期必须每天增加。

其中一个查询的示例。

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

这是一个更老的单簧管,但这将不得不每天增加。

预期的结果最好是每天收到一封电子邮件。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/39212
文章 [ 2 ]  |  最新文章 7 年前
SachinPatil4991
Reply   •   1 楼
SachinPatil4991    7 年前

你可以在下面写一个查询,它处理了单簧管的日期。

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

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

外壳示例:

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

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

Loïc
Reply   •   2 楼
Loïc    7 年前

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

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

当它被测试并工作时,创建一个简单的crontab,指定您希望每天运行脚本。