5

我想知道每个表的总行数。这适用于所有桌子。H2有可能吗?

我在想一张桌子:

|表名 | 行大小 |

目前我正在使用当前版本 1.3.170 (2012-11-30)。

4

2 回答 2

5

您需要使用用户定义的函数,例如:

drop alias count_rows;
create alias count_rows as 
'long countRows(Connection conn, String tableName) 
    throws SQLException {
ResultSet rs = conn.createStatement().
    executeQuery("select count(*) from " + tableName);
rs.next();
return rs.getLong(1); }';
select table_name, count_rows(table_name) count 
from INFORMATION_SCHEMA.TABLES 
where table_schema = 'PUBLIC';

此代码不考虑架构,仅适用于未加引号的表名。

于 2013-02-04T21:58:53.117 回答
0

试试SELECT table_name, row_count_estimate FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = 'PUBLIC'。它会给你一个“估计”,但结果很可能会让你得到你需要的信息。

于 2020-02-17T23:44:24.020 回答