mysql中如何统计一个数据库中每张表的行数

mysql中如何统计一个数据库中每张表的行数,第1张

可以实现

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 数据库所有表的行数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10056603.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存