这行得通:
$result = mysql_query("SHOW TABLES FROM `someDatabase` ");
while($row = mysql_fetch_array($result)){
echo $row[0].'<br>';
}
我得到了数据库表。是否有可能从相同的查询中获取更多信息?我想在每个表名旁边显示记录的数量,如果有更多的选项可用,可能还会显示更多。
当然,
运行如下查询:
SHOW TABLE STATUS FROM your-database
会给你一堆数据(行,排序等)
编辑
您也可以运行其他命令,如:
SHOW FUNCTION STATUS WHERE `Db`='your-database';
SHOW PROCEDURE STATUS WHERE `Db`='your-database';
SHOW TRIGGERS FROM `your-database`;
看一下information_schema
select *
from information_schema.tables
where table_schema = 'your_db'
不,不是来自同一查询。您必须获得表名,然后单独运行"select count(*) from $table"。MyISAM确实在某个地方存储了行数,可以从单个总体查询中检索。但是InnoDB不存储全局计数-如果有未提交的事务,它总是错误的,并且计数将相对于正在进行计数的用户。