如何从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
}
?>
请帮帮我
答案 0 :(得分:34)
select table_schema, table_name from information_schema.tables;
答案 1 :(得分:12)
更好:
在一个SQL语句中显示所有数据库中的所有表(内部mysql数据库除外)。
SELECT table_schema, table_name FROM information_schema.tables WHERE table_schema NOT IN ( 'information_schema', 'performance_schema', 'mysql' )
答案 2 :(得分:8)
你做不到
SELECT * FROM database
但你可以做到
USE DATEBASE;
SHOW TABLES;
甚至更好:
SHOW TABLES IN database
答案 3 :(得分: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
答案 4 :(得分:0)
我会为此:
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