2016-09-28 52 views
0

我不是数据库工程。但是我有一个关于MySQL数据库问题的可能性的问题。MySQL - 自动/计划SQL更新表

是否可以编写SQL从多个表中获取数据,然后使用这些数据(我们得到的)更新新表? 另外,这项工作应该每天安排。

我问这个问题的原因是因为我处于这种情况: 我们的IT部门一直维护着一个大的数据库,但是数据库/表格不符合我们部门的业务需求(我们只有读取权限)。我们的部门有一个小型数据库(拥有所有权限),我们可以使用自定义SQL创建一些特殊表并每天更新它们。

所以回到问题,可以设置SQL并安排它以确保这些SQL不断更新我们的表?

非常感谢你!

回答

0

是否可以编写SQL从多个表中获取数据,然后使用这些数据(我们得到的)更新新表?

是的,这是可能的。您可以使用UPDATE .. JOIN构造从SELECT声明中获取多个表中的数据,然后使用该内嵌视图获取JOIN,并对其他表执行更新操作。

例子:

UPDATE Your_Table a 
    JOIN (
     //Select query to get data from multiple other tables 
    ) xxx ON a.some_column = xxx.some_matching_column 
SET a.column_c = xxx.column_c; 

而且,这项工作应每天安排

当然,使用MySQL Event Schedular