二、Oracle中查看所有表属性和字段属性,包含表注释和字段注释、相关约束

一、相关oracle涉及表属性信息的表
1、存储数据表信息
user_tables; //当前用户拥有的表
all_tables; //所有用户的表
dba_tables; //包括系统表
2、存储数据表注释信息
dba_tab_comments //包括系统表的
all_tab_comments //所有用户表
user_tab_comments //当前用户
3、存储数据表字段信息:
dba_col_columns(包括系统表字段)
all_col_columns ( 除系统表外字段 )
user_col_columns (当前用户表字段)
4、存储数据表字段注释信息:
dba_col_comments
all_col_comments
user_col_comments
5、表主键、约束信息
//1)约束的相关字段、表信息
dba_cons_columns
all_cons_columns
user_cons_columns
//2)主键和约束名称,及相关约束分类
dba_constraints
all_constraints
user_constraints

二、获取表相关字段属性的SQL

SELECT   T.OWNER  --用户名
,T.TABLE_NAME AS YWB  --表名
,t2.comments AS YWBZS  --表注释
,t.column_name AS ZDMC ---字段名称
,t3.comments AS ZDZS --字段注释
,CASE WHEN T4.COLUMN_NAME IS NOT NULL THEN '1' ELSE '0' END AS SFZJ  --是否主键
,T.NULLABLE AS SFWK  --是否为空
,T.DATA_TYPE AS ZDLX   --字段类型
,T.DATA_LENGTH AS ZDCD    --数据类型
FROM DBA_tab_columns t 
--left join dba_tab_columns t1 on t.table_name=t1.table_name
LEFT JOIN DBA_tab_comments T2 ON t.table_name=t2.table_name AND   T2.owner='SCOTT' 
LEFT JOIN DBA_COL_comments T3 ON t.table_name=t3.table_name AND T.COLUMN_NAME=T3.COLUMN_NAME AND T3.owner='SCOTT'
left   JOIN (SELECT A.OWNER,A.TABLE_NAME,A.COLUMN_NAME FROM dba_cons_columns A 
INNER JOIN DBA_constraints  B  ON A.CONSTRAINT_NAME=B.CONSTRAINT_NAME AND A.OWNER=B.OWNER AND A.TABLE_NAME=B.TABLE_NAME 
 where A.owner='SCOTT' and  B.CONSTRAINT_TYPE='P'  --CONSTRAINT_TYPE='P'为主键约束
 ) T4 ON T.TABLE_NAME=T4.TABLE_NAME AND T.COLUMN_NAME=T4.COLUMN_NAME  
 WHERE T.OWNER='SCOTT'  AND t2.table_type='TABLE'
 ORDER BY T.TABLE_NAME,T.COLUMN_ID	
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值