sql获取表的所有字段及属性

Posted bkcoding.cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql获取表的所有字段及属性相关的知识,希望对你有一定的参考价值。

 1 select
 2      c.name as name,t.name as type
 3      ,convert(bit,c.IsNullable)  as isNULL
 4      ,convert(bit,case when exists(select 1 from sysobjects where xtype=PK and parent_obj=c.id and name in (
 5          select name from sysindexes where indid in(
 6              select indid from sysindexkeys where id = c.id and colid=c.colid))) then 1 else 0 end) 
 7                  as isKey
 8      ,convert(bit,COLUMNPROPERTY(c.id,c.name,IsIdentity)) as isIdentity
 9      
10      ,COLUMNPROPERTY(c.id,c.name,PRECISION) as length
11      ,ISNULL(CM.text,‘‘) as defualtVal
12      ,isnull(ETP.value,‘‘) AS describe
13      --,ROW_NUMBER() OVER (ORDER BY C.name) AS [Row]
14 from syscolumns c
15 inner join systypes t on c.xusertype = t.xusertype 
16 left join sys.extended_properties ETP on ETP.major_id = c.id and ETP.minor_id = c.colid and ETP.name =MS_Description 
17 left join syscomments CM on c.cdefault=CM.id
18 where c.id = object_id(表名)

 附上获取数据库内所有用户新增的表的语句

select * from sys.all_objects where type=U

 

以上是关于sql获取表的所有字段及属性的主要内容,如果未能解决你的问题,请参考以下文章

SQL查询字段名

怎样用SQL查询一个表的所有字段

hibernate 直接通过表名,获取字段名及字段类型??

sql server2008如何查询在指定的数据库中所有的表名和每个表的字段名及字段类型

mybatis基于注解的sql语句,bean的属性名和表的字段名不一样怎么办?

SQL:查询数据库中所有表的字段,并在查询结果中返回表、字段、字段描述