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

Mysql 如何显示来自多个数据库的所有表,mysql,mysql-management,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->D

如何在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
}
?>

请帮帮我你办不到

USE DATEBASE;
SHOW TABLES;
但你能做到

SHOW TABLES IN database
或者更好:

select table_schema, table_name from information_schema.tables;
使用:

更好的是:

select table_schema, table_name from information_schema.tables;
在一条SQL语句中显示所有数据库(内部mysql数据库除外)中的所有表

[client]
user=ADMINUSER     ## set user, usually 'root' 
password=PASSWORD  ## set password

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

这取决于您是否有一个包含以下内容的文件
~/.my.cnf

mysql -e "select table_schema, table_name from information_schema.tables;" | \
    grep -Pv '^(sys|performance_schema|TABLE_SCHEMA|mysql|information_schema)' | \
    perl -pe 's/\s+/./' | \
    sort -u

我会这样做:


你应该选择@cherouvim的答案作为正确答案!这回答了原海报提出的另一个问题,它修复了他不正确的代码段中的语法,因此它只修复了他不正确的命令用法的语法。还排除了上面的“sys”:<代码>不在(…,'mysql','sys')
mysql -e "select table_schema, table_name from information_schema.tables;" | \
    grep -Pv '^(sys|performance_schema|TABLE_SCHEMA|mysql|information_schema)' | \
    perl -pe 's/\s+/./' | \
    sort -u