oracle查看所有表及各表行数

oracle查看所有表,这个我知道,通过all_tables可以查出来
关键是各表的行数,这个实在是不懂啊
单纯select count(*) from table,是可以查出来,但这也限定某用户下的表。有没什么办法可以查出数据库中所有的表及各表行数?

在Oracle数据库中,查看所有表及对应个表的行数,只用一个select语句查询table_name和num_rows两个字段即可。table_name是表名,num_rows代表表的行数。

具体如下:

1、查询数据库所有的表sql:select t.table_name,t.num_rows from all_tables t;

sql执行后的输出结果如下图:

2、查询当前用户表sql:select t.table_name,t.num_rows from user_tables t;

sql执行后输出结果如下图:

扩展资料:

分享一些ORACLE中,对所有表的查询sql:

1、查询所有表名:

select t.table_name from user_tables t;

2、查询所有字段名:

select t.column_name from user_col_comments t;

3、查询指定表的所有字段名:

select t.column_name from user_col_comments t where t.table_name = 'BIZ_DICT_XB';

4、查询指定表的所有字段名和字段说明:

select t.column_name, t.column_name from user_col_comments t where t.table_name = 'BIZ_DICT_XB';

5、查询所有表的表名和表说明:

select t.table_name,f.comments from user_tables t inner join user_tab_comments f on t.table_name = f.table_name;

6、查询模糊表名的表名和表说明:

select t.table_name from user_tables t where t.table_name like 'BIZ_DICT%';

select t.table_name,f.comments from user_tables t inner join user_tab_comments f 

on t.table_name = f.table_name where t.table_name like 'BIZ_DICT%';

7、查询表的数据条数、表名、中文表名

select a.num_rows, a.TABLE_NAME, b.COMMENTS from user_tables a,user_tab_comments b WHERE a.TABLE_NAME = b.TABLE_NAME  order by TABLE_NAME;

参考资料来源:百度百科-Oracle PL/SQL宝典(第2版)

参考资料来源:百度百科-Oracle数据库编程经典300例

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-08-07

DBA权限下可以查询dba_tables,里面有个num_rows列

select table_name,num_rows from dba_tables where ...;

条件可以根据自己需要来加

num_rows列并不是实时更新的,1小时更新一次。

扩展资料:

Oracle数据库常用sql语句:

一,INSERT (往数据表里插入记录的语句)

INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……);

INSERT INTO 表名(字段名1, 字段名2, ……) SELECT (字段名1, 字段名2, ……) FROM 另外的表名;

二,DELETE (删除数据表里记录的语句)

DELETE FROM表名 WHERE 条件;

三,UPDATE (修改数据表里记录的语句)

UPDATE表名 SET 字段名1=值1, 字段名2=值2, …… WHERE 条件;

四,改变表的名称

ALTER TABLE 表名1 TO 表名2;

五,在表的后面增加一个字段

ALTER TABLE表名 ADD 字段名 字段名描述;

六,修改表里字段的定义描述

ALTER TABLE表名 MODIFY字段名 字段名描述;

参考资料:百度百科:Oracle数据库

本回答被网友采纳
第2个回答  推荐于2017-04-19
DBA权限下可以查询dba_tables,里面有个num_rows列
select table_name,num_rows from dba_tables where ...;
条件可以根据自己需要来加
不过提醒下,num_rows列并不是事实更新的,好像是1小时更新一次,查新之前最好先ANALYZE下
analyze table xxx compute statistics;本回答被提问者采纳
相似回答