oracle查看所有表及各表行数
关键是各表的行数,这个实在是不懂啊
单纯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例
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数据库
select table_name,num_rows from dba_tables where ...;
条件可以根据自己需要来加
不过提醒下,num_rows列并不是事实更新的,好像是1小时更新一次,查新之前最好先ANALYZE下
analyze table xxx compute statistics;