如何显示来自多个数据库的所有表

Soa*_*abh 15 mysql mysql-management

如何从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
}
?>
Run Code Online (Sandbox Code Playgroud)

请帮我

che*_*vim 35

使用INFORMATION_SCHEMA:

select table_schema, table_name from information_schema.tables;
Run Code Online (Sandbox Code Playgroud)


小智 13

更好的是:

在一个SQL语句中显示所有数据库中的所有表(内部mysql数据库除外).

SELECT table_schema, table_name FROM information_schema.tables WHERE table_schema NOT IN ( 'information_schema', 'performance_schema', 'mysql' )
Run Code Online (Sandbox Code Playgroud)


Kon*_*rak 8

你做不到

SELECT * FROM database
Run Code Online (Sandbox Code Playgroud)

但你可以做到

USE DATEBASE;
SHOW TABLES;
Run Code Online (Sandbox Code Playgroud)

甚至更好:

SHOW TABLES IN database
Run Code Online (Sandbox Code Playgroud)

  • 您应该选择@ cherouvim的答案作为正确答案! (4认同)