oracle怎么查表构造,查询Oracle数据库 表构造

查询Oracle数据库 表结构

--简单查询

select *

from ALL_TAB_COLS A

where lower(A.Table_Name) = '要查询的表名';

--综合查询

select C.OWNER as 用户名,

A.TABLE_NAME as 表名,

E.COMMENTS as 表中文名,

A.COLUMN_NAME as 列名,

decode(A.DATA_TYPE,

'CHAR',

A.DATA_TYPE || '(' || A.DATA_LENGTH || ')',

'DATE',

A.DATA_TYPE,

'NUMBER',

A.DATA_TYPE || '(' || A.DATA_PRECISION || ',' || A.DATA_SCALE || ')',

'VARCHAR2',

A.DATA_TYPE || '(' || A.DATA_LENGTH || ')') as 数据类型,

decode(C.COLUMN_NAME, null, '', '是') as 主键,

decode(D.INDEX_NAME, null, '', '是') as 索引,

decode(A.NULLABLE, 'N', '', 'Y', '可空') as 可为空,

B.comments as 备注

from sys.user_tab_cols A,

sys.user_col_comments B,

(select col.column_name, c.table_name, col.owner

from user_constraints c, user_cons_columns col

where c.constraint_name = col.constraint_name

and c.constraint_type = 'P') C,

(select ind.index_name, c.table_name

from user_constraints c, user_indexes ind

where c.table_name = ind.table_name

and c.constraint_type = 'P') D,

sys.user_tab_comments E

where lower(A.TABLE_NAME) = '要查询的表名'

and A.TABLE_NAME = B.table_name

and A.COLUMN_NAME = B.column_name

and A.Table_Name = E.TABLE_NAME

and A.Table_Name = C.TABLE_NAME(+)

and A.COLUMN_NAME = C.COLUMN_NAME(+)

and A.Table_Name = D.TABLE_NAME(+)

and A.COLUMN_NAME = D.INDEX_NAME(+)

order by A.TABLE_NAME, A.Column_Id;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值