查询整个mysql数据库

时间:2014-05-12 15:41:44

标签: mysql sql mysql-workbench

我在mysql中有一个数据库,它包含几百个表(user1,user2,user3 ..)和 每个表都有完全相同的列。我感兴趣的两个特定列是'body'和'date created'。

我希望能够同时查询所有表格,以查找“2013-08-09”和“2013-08-15”之间具有“创建日期”值的任何条目,同时还提示我与等效的“身体”字段相对应。

目前,我运行以下查询,只返回一个表的结果:

select * 
FROM user1 
where datecreated between '2001-09-09' and '2001-09-15' 

这给了我'body'和'date created'。

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

您将需要构建一个创建临时表的脚本,然后遍历所有用户表(MySQL是否有办法访问系统目录?),然后,对于每次迭代,运行select on该表,并将数据插入到临时表中,用于迭代中执行的每个选择,然后输出临时表的内容。

但是如果我没有建议, 强烈 ,我会将所有这些数据从所有这些表中放入一个带有userId列的单个表来区分每行用户是哪一个。您的数据库架构设计非常错误。