设为首页 加入收藏

TOP

查表的字段名,主键,字段类型的语句(一)
2014-11-23 23:18:41 来源: 作者: 【 】 浏览:15
Tags:查表的 段名 主键 类型 语句

查表的字段名,主键,字段类型的语句
一、oracle
1、获取当前oracle 数据库中的所有表
select table_name from user_tables
2、查询某个表中的字段名称、类型、精度、长度、是否为空
select COLUMN_NAME,DATA_TYPE,DATA_PRECISION,DATA_SCALE,NULLABLE
from user_tab_columns
where table_name ='YourTableName'
3、查询某个表中的主键字段名
select col.column_name
from user_constraints con, user_cons_columns col
where con.constraint_name = col.constraint_name
and con.constraint_type='P'
and col.table_name = 'YourTableName'
4、查询某个表中的外键字段名称、所引用表名、所应用字段名
select distinct(col.column_name),r.table_name,r.column_name
from
user_constraints con,
user_cons_columns col,
(select t2.table_name,t2.column_name,t1.r_constraint_name
from user_constraints t1,user_cons_columns t2
where t1.r_constraint_name=t2.constraint_name
and t1.table_name='YourTableName'
) r www.2cto.com
where con.constraint_name=col.constraint_name
and con.r_constraint_name=r.r_constraint_name
and con.table_name='YourTableName'

5、如何从 Oracle中取得表的注释
user_tab_comments;表注释
user_col_comments;表字段注释
  以上两个只能获取自己用户的表的注释信息,如果要访问自己
能够访问的其他用户的表,则需要使用:
all_tab_comments;表注释
all_col_comments;表字段注释
  当然,如果有DBA权限,则可以使用
dba_tab_comments;表注释
dba_col_comments;表字段注释
  dba*和all*最好指定owner条件。user*没有该字段
user_tab_comments;表注释
user_col_comments;表字段注释
二、SQLServer
1、读取库中的所有表名
  select name from sysobjects where xtype='u'
2、字段
SELECT c.name,t.name,c.xprec,c.xscale,c.isnullable
FROM systypes t,syscolumns c
WHERE t.xtype=c.xtype
AND c.id = (SELECT id FROM sysobjects WHERE name='YourTableName')
ORDER BY c.colid
3、主键(参考SqlServer 系统存储过程sp_pkeys)
select COLUMN_NAME = convert(sysname,c.name)
from
sysindexes i, syscolumns c, sysobjects o
where o.id = object_id('[YourTableName]')
and o.id = c.id
and o.id = i.id
and (i.status & 0x800) = 0x800
and (c.name = index_col ('[YourTableName]', i.indid, 1) or
c.name = index_col ('[YourTableName]', i.indid, 2) or
c.name = index_col ('[YourTableName]', i.indid, 3) or
c.name = index_col ('[YourTableName]', i.indid, 4) or
c.name = index_col ('[YourTableName]', i.indid, 5) or
c.name = index_col ('[YourTableName]', i.indid, 6) or
c.name = index_col ('[YourTableName]', i.indid, 7) or
c.name = index_col ('[YourTableName]', i.indid, or
c.name = index_col ('[YourTableName]', i.indid, 9) or
c.name = index_col ('[YourTableName]', i.indid, 10) or
c.name = index_col ('[YourTableName]', i.indid, 11) or
c.name = index_col ('[YourTableName]', i.indid, 12) or
c.name = index_col ('[YourTableName]', i.indid, 13) or
c.name = index_col ('[YourTableName]', i.indid, 14) or
c.name = index_col ('[YourTableName]', i.indid, 15) or
c.name = index_col ('[YourTableName]', i.i
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇同一字段多ID存储名称映射 下一篇PostgreSQL的时区字段区别

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: