我现在面临的情况是,我必须从同一主机上的不同数据库创建 MySQL 视图。创建数据的团队每年使用不同的数据库(例如 sales_2014、sales_2015)等。
所有数据库都具有相同的表和几乎相同的架构。只有一些列不同,但我只需要那些相同的列,所以我不必关心那些不同的列。
对于我的项目,我需要将这些数据放在一个视图或表中。做这个的最好方式是什么?我应该为每个数据库创建一个视图,并通过不同数据库上的单个视图连接所有视图,我应该只对不同数据库中的所有表使用一个大视图,还是应该使用与视图不同的东西?
只需引用您想要的任何数据库即可。请注意“db.tbl”语法:
CREATE VIEW ...
AS
SELECT ...
FROM sales_2014.blah AS x
JOIN sales_2015.blah AS y ON ...
Run Code Online (Sandbox Code Playgroud)
同样,您可以使用UNION ALL
.
CREATE OR REPLACE VIEW
AS all_sales
SELECT * FROM 2014.sales
UNION ALL
SELECT * FROM 2015.sales;
Run Code Online (Sandbox Code Playgroud)
为了“理智”,您可能需要创建一个新数据库来存储 VIEW。您可以将其称为sales_all
。
归档时间: |
|
查看次数: |
7080 次 |
最近记录: |