oracle中怎么用sql查表以及表的字段名

如题所述

1、用sql查表
查表的时候需要用到user_tables、all_tables,user_tables查出来的是该用户拥有的表,all_tables查出来的是所有用户的表。
2、用sql查表的字段
查表的字段需要用到user_tab_columns、all_tab_columns,一样的前者只能查到该用户拥有的表,后者可以查询所有用户的表。
3、其他
与上面类似的还有查询对象(user_objects、all_objects)、索引(user_indexes、all_indexes)、约束(user_constraints、all_constraints)等。
至于到底怎么查,先用select * from XXX查看表的信息,然后看下就知道了。比如查一个system表dba_data_files的字段,可以用select * from all_tab_columns where table_name = 'DBA_DATA_FILES',注意表名大写。
2014-11-04补充:
下列列出一些比较重要的数据字典:

DBA_TABLES:描述数据库中所有相关的表。

DBA_ALL_TABLES:描述数据库中所有的对象以及相关的表。

USER_TABLES:描述数据库中当前用户拥有的相关的表。

USER_ALL_TABLES:描述数据库中当前用户拥有的对象以及相关的表。
ALL_TABLES:描述数据库中所有的用户可以访问的相关的表。

ALL_ALL_TABLES:描述数据库中所有的用户可以访问的对象以及相关的表。

DBA_TAB_COLUMNS:描述数据库中所有表的列属性。
USER_TAB_COLUMNS:描述数据库中当前用户拥有的表的列属性。

ALL_TAB_COLUMNS:描述数据库中所有用户可以访问的表的列属性。
DBA_CONSTRAINTS:描述数据库中所有表的约束和属性。
DBA_CONS_COLUMNS:包含在DBA_CONSTRAINTS约束定义中的可访问的列的信息。

ALL_CONSTRAINTS:描述数据库中所有用户可以访问的表的约束和属性。

ALL_CONS_COLUMNS:包含在ALL_CONSTRAINTS约束定义的可访问的列的信息。

USER_CONSTRAINTS:描述数据库中所有当前用户拥有的表的约束的属性。

USER_CONS_COLUMNS:包含在USER_CONSTRAINTS约束定义的可访问的列的信息。

DBA_SEQUENCES:数据库中所有序列的描述。

ALL_SEQUENCES:描述数据库中所有用户可以访问的序列的描述。

USER_SEQUENCES:描述数据库中所有当前用户拥有的序列的描述。

DBA_INDEXES:描述数据库中所有的索引的属性。

ALL_INDEXES:描述数据库中所有用户可以访问的索引的属性。

USER_INDEXES:描述数据库中所有当前用户拥有的索引的属性。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-04-17
SELECT * FROM DBA_TAB_COLUMNS WHERE TABLE_NAME = 'STUDENT'
相似回答