首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

select语句怎么对一个数据库中所有相同的表操作

2012-02-24 
select语句如何对一个数据库中所有相同的表操作?有一个MYSQL数据库,数据库名为test_db,此数据库中有30个表

select语句如何对一个数据库中所有相同的表操作?
有一个MYSQL数据库,数据库名为test_db,此数据库中有30个表,其中28个表名为table1,table2,table3……table28,另外的2个表名为table88,talbe99。

这28个表的结构是一样的,假设为   ID,   NAME   ,   SEX   ,   我现想用一个select   语句查询该test_db数据库的28个表中SEX为“男”的所有数据,应该如何写这个select语句?

我不可能这样吧:   select   *   from   test_db.table1,test_db.table2,(写尽这28个表名)   where   SEX   =   '男 '。     有什么好方法吗?

应该怎样对数据库中所有相同表的操作?




[解决办法]
写个存储过程对28个表进行循环操作。
[解决办法]
动态从系统表中获取这30个表的表名,生成类似如下格式的SQL:

select * from T1 where ...
union all
select * from T2 where ...
union all
...
[解决办法]
动态拼写表名,然后 from 动态添加表即可。
每个都用 union 即可了。

热点排行