如何用PL/SQL查询我的oarcle数据库里有多少个表,每个表都叫什么名

我新接手了一个oracle数据库,对整个库的结构不熟,想要查询一下库里有多少个表,每个表都叫什么名,每个表的列名

首先你要有一个登陆用户,根据这个用户有3个查看表信息数据字典,分别是
ALL_TABLES USER_TABLES DBA_TABLES
如果你的用户有DBA权限,那么可以
SELECT * FROM DBA_TABLES那么可以查看数据库所有的表,不过最好带上WHERE条件,指定要查找的范围,要不结果很大的。

ALL_TABLES的话,SELECT * FROM ALL_TABLES查找的是用户下的所有表和授权该用户访问的所有表。

USER_TABLES的话,SELECT * FROM USER_TABLES查找的是用户下的所有表。

你可以用
SELECT * FROM USER_TABLES
然后对查到的表名,比如EMP,用
DESC EMP
查看表结构
然后可以用
SELECT * FROM EMP WHERE rownum < 10;
查看里面的10条信息,看下大概内容;

当然还有别的COL的数据字典,OBJECT数据字典等等,或者你进企业资源管理器进可视化界面可以直接看用户下的所有对象了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-09-22
select object_name from user_objects where lower(object_type)='table';这是查表名
对于每个表的列只能用desc table_name;了,一个表一个表的查,
这可以查出当前用户下的表,也就是说你想要知道所有的表,就得用各个用户去连接,然后查它名下有多少张表,然后查这些表的结构.本回答被提问者采纳
第2个回答  2008-09-23
直观一点,用可视化的东西,不知道你是否安装了pl/sql这个工具,如果没有,建议安装一个,非常好用。在pl/sql的左边菜单找到tables,下面就是一系列的表名,对某个表名 点击右键-->点击查看 就可以看到表的各种信息了。
另外你也可以用oracle的oracle enterprise manager console工具用sys或system用户登录,就能查看不同用户下的表以及表结构的信息
第3个回答  2008-09-22
select * from user_table;

over~