MYSQL - 计算每个表中的行数

时间:2011-01-05 10:57:48

标签: mysql sql

我想知道数据库中每个表中有多少行。我到目前为止已经

select count(*) _tablename_; 

但是我需要在每张桌子上都这样做 - 而且还有很多。使用表名和行数计算打印输出的最佳方法是什么?

3 个答案:

答案 0 :(得分:81)

SELECT table_name, table_rows
    FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_SCHEMA = '<your db>';

我也希望您发现查询中存在错误:它缺少FROM

答案 1 :(得分:1)

以下查询将返回每个表中的行数,但似乎并非一直都返回精确值

SELECT table_name, table_rows
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = '<your db>';

TABLE_ROWS :分区中表的行数。对于分区的InnoDB表,TABLE_ROWS列中给定的行数仅是SQL优化中使用的估计值,可能并不总是准确的... 更多https://dev.mysql.com/doc/mysql-infoschema-excerpt/5.5/en/partitions-table.html

答案 2 :(得分:0)

除了其他人的SQL查询外,还可以使用Workbench GUI获取每个表的行数。为此,请启动Workbench->连接到Db->右键单击Db并选择“模式检查器”(如下面的屏幕截图-我已突出显示“行”列):

enter image description here

HTH。