2010-06-12 88 views
12

如何从mySql中的多个数据库中选择所有表格.. 我正在执行以下步骤,但无法实现目标。如何显示来自多个数据库的所有表格

<?php 
$a = "SHOW DATABASES"; 
$da = $wpdb->get_results($a); 

foreach($da as $k){ 
echo '<pre>'; 
print_r ($k->Database);//prints all the available databases 
echo '</pre>'; 
$nq = "USE $k->Database";//trying to select the individual database 
$newda = $wpdb->get_results($nq); 
$alld = "SELECT * FROM $k->Database"; 
$td = $wpdb->get_results($alld); 
var_dump($td);//returns empty array 
} 
?> 

请帮我

回答

7

你不能这样做

SELECT * FROM database 

但你可以做

USE DATEBASE; 
SHOW TABLES; 

甚至更​​好:

SHOW TABLES IN database 
+4

您应该选择@ cherouvim的答案正确的! – JonyD 2016-08-17 15:47:26

7

更妙的是:

显示在一个SQL语句中的所有数据库中的所有表(除了内部MySQL数据库)。

SELECT table_schema, table_name FROM information_schema.tables WHERE table_schema NOT IN ('information_schema', 'performance_schema', 'mysql') 
0

mysql -e'select table_schema, table_name from information_schema.tables;'

这取决于你已具备了与以下内容的文件~/.my.cnf

[client] 
user=ADMINUSER  ## set user, usually 'root' 
password=PASSWORD ## set password 
相关问题