如何将oracle表中的字段类型、字段注释说明、字段名一起查询出来
SELECT b.column_name column_name -字段名
,b.data_type data_type -字段类型
,b.data_length -字段长度
,a.comments comments -字段注释
FROM user_col_comments a
,all_tab_columns b
WHERE a.table_name = b.table_name and
a.table_name = 'table_name';
扩展资料:
关于获取oracle表中所有需要的信息(字段、注释、类型等等)
一、获取表字段:
select *
from user_tab_columns
where Table_Name='用户表'
order by column_name
二、获取表注释:
select *
from user_tab_comments
where Table_Name='用户表'
order by Table_Name
三、获取字段注释:
select *
from user_col_comments
where Table_Name='用户表'
order by column_name
/* 获取表:*/
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='zfxfzb'
/*
user_tables:
table_name,tablespace_name,last_analyzed等
dba_tables:
ower,table_name,tablespace_name,last_analyzed等
all_tables:
wer,table_name,tablespace_name,last_analyzed等
all_objects:
ower,object_name,subobject_name,object_id,created,last_ddl_time,timestamp,status等
*/
/* 获取表字段:*/
select * from user_tab_columns where Table_Name='用户表';
select * from all_tab_columns where Table_Name='用户表';
select * from dba_tab_columns where Table_Name='用户表';
/* user_tab_columns:
table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等
all_tab_columns :
ower,table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等
dba_tab_columns:
ower,table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等
*/
/* 获取表注释:*/
select * from user_tab_comments
/*
user_tab_comments:table_name,table_type,comments
相应的还有dba_tab_comments,all_tab_comments,这两个比user_tab_comments多了ower列。
*/
/* 获取字段注释:*/
select * from all_col_comments
/*
user_col_comments:table_name,column_name,comments
相应的还有dba_col_comments,all_col_comments,这两个比user_col_comments多了ower列。
*/
SELECT b.column_name column_name --字段名
,b.data_type data_type --字段类型
,b.data_length --字段长度
,a.comments comments --字段注释
FROM user_col_comments a
,all_tab_columns b
WHERE a.table_name = b.table_name and
a.table_name = 'table_name';
PS:
table_name 大小写敏感。
select
ut.COLUMN_NAME,--字段名称
uc.comments,--字段注释
ut.DATA_TYPE,--字典类型
ut.DATA_LENGTH,--字典长度
ut.NULLABLE--是否为空
from user_tab_columns ut
inner JOIN user_col_comments uc
on ut.TABLE_NAME = uc.table_name and ut.COLUMN_NAME = uc.column_name
where ut.Table_Name='RC_METADATA'
order by ut.column_name
其中表名注意大写,即将'RC_METADATA' 换成自己的表名即可
SELECT B.COLUMN_NAME COLUMN_NAME --字段名
,
B.DATA_TYPE DATA_TYPE --字段类型
,
B.DATA_LENGTH --字段长度
,
A.COMMENTS COMMENTS --字段注释
FROM USER_COL_COMMENTS A, ALL_TAB_COLUMNS B
WHERE A.TABLE_NAME = B.TABLE_NAME
AND a.column_name = b.COLUMN_NAME
AND A.TABLE_NAME = 'TABLE_NAME';
AND a.column_name = b.COLUMN_NAME
desc:describe,即给出表的定义。