2014-04-10 18 views
-1

我想知道如何计算数据库表中的总行数。例如,我有在数据库3页的表称为:计数数据库表中的总行数

表15行

表24行

表33排

所以输出应该是:12行

我知道如何计算特定表中的行数。有什么东西在这里循环?

谢谢。

+0

https://dev.mysql.com/doc/refman/5.1/en/tables-table.html显示含有的粗略计数模式表行。如果您需要确切的计数,则可以使用信息模式中的数据查询每个表并获取确切的计数。 – xQbert

+0

感谢罗布。这解决了。 –

回答

1
SELECT sum(cnt) AS overall_cnt 
FROM (
    SELECT count(*) AS cnt FROM table1 
    UNION ALL 
    SELECT count(*) AS cnt FROM table2 
    UNION ALL 
    SELECT count(*) AS cnt FROM table3 
) AS foo 
+0

不,我的意思是,如果我有几千张桌子呢?有没有像循环或什么? –

+0

不在定期查询中。您可以构建一个查询信息模式表的存储过程并对这些结果进行循环。 –

0
SELECT sum(TABLE_ROWS) 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_NAME IN ('table1', 'table2', 'table3'); 
0
SELECT SUM(TABLE_ROWS) 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = 'db_name'; 

enter image description here