
可以实现
use
information_schema;
select
table_name,table_rows
from
tables
where
TABLE_SCHEMA
=
'数据库名'
order
by
table_rows
desc;
查询出来的是每张表的行数
1、用sql语句中的count函数,然后从ResultSet里获取第一行的数字:
try {
ResultSet resultSet = statementexecuteQuery("select count(1) as nRrow from tableName");//使用sql的count函数
resultSetnext();//移动到第一行
int rowCount = resultSetgetInt("rowCount");//获取行数值
} catch (Exception e) {
eprintStackTrace();
}
这种方法不用遍历整个数据集,节省了运算时间,但是,此方法只能用于获取数据表的行数,不能获取表中的具体数据。所以如果只是想知道数据表的行数,此方法非常适合。
2、遍历Resultset,用一个变量累加记录行数,代码如下:
int nRow = 0;
try {
ResultSet resultSet = statementexecuteQuery("select from tableName");//使用select语句查询数据表
while(resultSetnext()){//遍历
nRow++;
}
} catch (SQLException e1) {
e1printStackTrace();
}
next 函数将指针移动到下一行;因为该方法在 ResultSet 对象中没有下一行时返回 false,所以可以在 while 循环中使用它来迭代结果集。
这种方法需要遍历整个结果集,在遍历过程中可以获取数据;
但是在遍历完之后,不能再使用结果集了,因为这时候指针已经移动到结果集的外面了,不能返回到结果集的初始处。
可以从表user_tables中查询。
select sum(num_rows) from user_tables ;
就是显示用户所有表的行数其中num_rows是每个表的行数,用sum加总一下,就是当前用户所有表的总行数。
但因为user_tables中的数据不是实时统计,会有时间差,所以以上Sql统计得到的结果与实际会存在一定误差。
没明白楼主的具体意思,如果是用JAVA写的话,则取得的数据是一个结果集,有了结果集就可以知道行数了。如果是在数据库中需要得到行数,则如楼上的兄弟写的select count() from 表名 就可以了,这样更直接简单。
string selectStr = "select count() from 表";
SqlCommand select = new SqlCommand(selectStr, sqluser);
sqluserOpen();//就是你的数据库连接sqlconnection
int a = (int)selectExecuteScalar();
sqluserClose();
return a;
以上就是关于mysql中如何统计一个数据库中每张表的行数全部的内容,包括:mysql中如何统计一个数据库中每张表的行数、java里进行数据库更新时,怎么取得影响的行数值、如何用SQL语句求oracle 数据库所有表的行数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)