如何快捷地查询Oracle中每个用户表的表名和行数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何快捷地查询Oracle中每个用户表的表名和行数?相关的知识,希望对你有一定的参考价值。

某个用户的表的表名从数据字典表 user_tables 可以查到,虽然 user_tables 数据字典中也有表的行数 NUM_ROWS 字段,但除非你对该用户进行统计信息收集(运行 dbms_stat.gather_schema_stats()系统包)否则该字段要么没有值,要么值是过期的数据,不准确. 正确的做法是:对数据库用户进行统计信息收集后,立刻执行:
select table_name,num_rows from user_tables;
参考技术A dba权限下可以查询dba_tables,里面有个num_rows列
select
table_name,num_rows
from
dba_tables
where
...;
条件可以根据自己需要来加
不过提醒下,num_rows列并不是事实更新的,好像是1小时更新一次,查新之前最好先analyze下
analyze
table
xxx
compute
statistics;
参考技术B 用这个
select t.owner,t.table_name,t.num_rows from all_tables t
如果要指定某个用户的话加上
where owner='用户名'
我的数据库是oracle 11g和12c

sqlserver查询数据的所有表名和行数

 
//查询所有表明
select name from sysobjects where xtype=uselect * from sys.tables


//查询数据库中所有的表名及行数 SELECT a.name, b.rows FROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.id WHERE (a.type = u‘) AND (b.indid IN (0, 1)) ORDER BY a.name,b.rows DESC
//查询所有的标明及空间占用量行数 select object_name(id) tablename, 8*reserved/1024 reserved, rtrim(8*dpages)+kb used, 8*(reserved-dpages)/1024 unused, 8*dpages/1024-rows/1024*minlen/1024 free, rows --,* from sysindexes where indid=1 order by tablename,reserved desc
 

以上是关于如何快捷地查询Oracle中每个用户表的表名和行数?的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver查询数据的所有表名和行数

如何从特定数据库中检索具有行数的表名?

sqlserver查询数据的所有表名和行数及空间占用量

如何用SQL语句求oracle 数据库所有表的行数?

oracle中已经知道一个具体值,如何根据该值查询出含有该值的表名和列名?

如何查询一个ACCESS数据库中的表名和字段?