我想知道数据库中每个表中有多少行。我到目前为止已经
了select count(*) _tablename_;
但是我需要在每张桌子上都这样做 - 而且还有很多。使用表名和行数计算打印输出的最佳方法是什么?
答案 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)