oracle 怎样查询某用户下的所有表的表名

oracle 怎样查询某用户下的所有表的表名,第1张

select table_name from user_tables; //当前用户拥有的表

select table_name from all_tables; //所有用户的表

select table_name from dba_tables; //包括系统表

select table_name from dba_tables where owner='用户名'

select from user_tables --查询当前用户所拥有的表
select from all_tables --查询当前用户能访问的表
select from dba_tables --拥有DBA权限用户能查询所有的表

觉得你应该先弄清楚oracle的常规数据字典的结构,像9i里的常规数据字典中对象名称就有以USER,ALL,DBA为前缀的对象。
以USER为例,我们查该对象下有些什么表,就应该执行下列的语句:
SQL>select table_name from user_tables;
类似的,你可以进行替换。:)

如果你想查数据库中所有的表的话,可以查询
SELECT FROM dba_tables
如果你想查询数据库中某个用户下的表的话,也可以登录这个用户,再查询:
SELECT FROM USER_TABLES

要想导入外部sql语句可以用命令
sql >@e:\文件名sql

如你想保存 select from tablename;语句的结果,可以在sqlplus 里面这样:
SPOOL c:\testsql //这是保存文件的位置
select from tablename;
SPOOL OFF

1、查找表的所有索引(包括索引名,类型,构成列):
select
t,iindex_type
from
user_ind_columns
t,user_indexes
i
where
tindex_name
=
iindex_name
and
ttable_name
=
itable_name
and
ttable_name
=
要查询的表
2、查找表的主键(包括名称,构成列):
select
cu
from
user_cons_columns
cu,
user_constraints
au
where
cuconstraint_name
=
auconstraint_name
and
auconstraint_type
=
'P'
and
autable_name
=
要查询的表
3、查找表的唯一性约束(包括名称,构成列):
select
column_name
from
user_cons_columns
cu,
user_constraints
au
where
cuconstraint_name
=
auconstraint_name
and
auconstraint_type
=
'U'
and
autable_name
=
要查询的表
4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):
select

from
user_constraints
c
where
cconstraint_type
=
'R'
and
ctable_name
=
要查询的表
查询外键约束的列名:
select

from
user_cons_columns
cl
where
clconstraint_name
=
外键名称
查询引用表的键的列名:
select

from
user_cons_columns
cl
where
clconstraint_name
=
外键引用表的键名
5、查询表的所有列及其属性


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

原文地址: https://outofmemory.cn/yw/13356269.html

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

发表评论

登录后才能评论

评论列表(0条)

保存