查询oracle 表的字段信息

lily1314 2008-06-18 03:32:49
如何查询表中的字段信息
有没有查询表中的字段信息,如:字段名 类型 长度 是否主键
select * from user_tab_columns t
查不到主键信息

select cu.* from
user_cons_columns cu,
user_constraints au
where cu.constraint_name = au.constraint_name
and au.constraint_type = 'P'
又只能查到主键信息。
有没有类似db2的syscolumns表,直接可以把字段名称 类型 长度 主键一次性全查出来的
...全文
382 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
SELECT a.TABLE_NAME as 表名,
a.COLUMN_NAME as 列名 ,
a.DATA_TYPE as 数据类型,
a.DATA_LENGTH as 长度,
a.NULLABLE as 是否为空,
case when d.constraint_type = 'P' then 'Y'
else 'N'end 是否为主键,
a.COLUMN_ID as 列序号,
b.comments as 备注
FROM USER_TAB_COLS a
inner join user_col_comments b on
b.TABLE_NAME=a.TABLE_NAME
and b.COLUMN_NAME=a.COLUMN_NAME left outer join user_cons_columns c on a.table_name = c.table_name and a.column_name = c.column_name
left outer join user_constraints d on c.constraint_name = d.constraint_name
where a.Table_Name='表名'
gisinfo 2008-06-19
  • 打赏
  • 举报
回复
主键
select cu.* from
user_cons_columns cu,
user_constraints au
where cu.constraint_name = au.constraint_name
and au.constraint_type = 'P'

外键
select cu.* from
user_cons_columns cu,
user_constraints au
where cu.constraint_name = au.constraint_name
and au.constraint_type = 'R'

字段的名字和类型
desc table;

哪那么好可以一次看
就没一个语句可以使得当前用户下的 所有约束都失效一样!!

只能通过自动生成脚本的方式将disable constriant 列出一样的道理
lyyshui 2008-06-19
  • 打赏
  • 举报
回复
desc table;
lily1314 2008-06-19
  • 打赏
  • 举报
回复
通过哪几个表的联合,可以把以上信息全都查出来,我只能查出字段.类型,
主键还要单独查.如何把2者方便的组合到一起.
jackiecheng001 2008-06-18
  • 打赏
  • 举报
回复
desc tablename
WangZWang 2008-06-18
  • 打赏
  • 举报
回复
不行,只能通过表连接联合查询出来

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧