我想循环浏览一些数据库(未定义数据库的数量),搜索一个表,而不想在我找到该表的数据库中进行SELECT
和UPDATE
查询。
答案 0 :(得分:0)
您的问题有两种解决方案:
1)。基于MySQL的Federated Engine(如你所提到的)。您可以浏览此Blog post on Federated Engine
2)。 (当您使用PHP时)从一个服务器获取数据,然后循环访问数据并将相关查询发送到另一个服务器,或者根据从第一个服务器获取的数据将单个聚合查询发送到另一个服务器。
希望它能帮到你......
答案 1 :(得分:0)
要列出数据库中的各种表,您可以在数据库模式中查询所需的信息。
select `table_name` as 'name'
from `information_schema`.`tables`
where `table_type`='base table' and `table_schema`=database();
可以使用相同的方法查找数据库中的其他项目,例如events
,triggers
,stored procedures
等
答案 2 :(得分:0)
您可以对INFORMATION_SCHEMA.TABLES执行选择以按名称查找表:
SELECT
`TABLE_SCHEMA`,
`TABLE_NAME`,
`TABLE_ROWS`
FROM `INFORMATION_SCHEMA`.`TABLES`
WHERE `TABLE_NAME` like '%_assets'
除非所需的表名可能有所不同(不同的前缀,大小写等),否则请使用= 'name'
代替like '%_assets'