SQLserver查询表信息(所有列的名称,类型,字段说明) [数据库教程]
SELECT表名
= case when a.colorder = 1 then d.name else‘‘ end,表说明
= case when a.colorder = 1 then isnull(f.value, ‘‘) else‘‘ end,字段序号
= a.colorder,字段名
= a.name,标识
= case when COLUMNPROPERTY(a.id, a.name, ‘IsIdentity‘)= 1 then ‘√‘else‘‘ end,主键
= case when exists(SELECT 1 FROM sysobjects where xtype = ‘PK‘ and parent_obj = a.id and name in (SELECT name FROM sysindexes WHERE indid
in(SELECT indid FROM sysindexkeys WHERE id = a.id AND colid = a.colid))) then ‘√‘else‘‘ end,类型
= b.name,占用字节数
= a.length,长度
= COLUMNPROPERTY(a.id, a.name, ‘PRECISION‘),小数位数
= isnull(COLUMNPROPERTY(a.id, a.name, ‘Scale‘), 0),允许空
= case when a.isnullable = 1 then ‘√‘else‘‘ end,默认值
= isnull(e.text, ‘‘),字段说明
= isnull(g.[value], ‘‘)FROM
syscolumns a
left join
systypes b
on
a.xusertype
= b.xusertypeinner join
sysobjects d
on
a.id
= d.id and d.xtype = ‘U‘ and d.name <> ‘dtproperties‘left join
syscomments e
on
a.cdefault
= e.idleft join
sys.extended_properties g
on
a.id
= G.major_id and a.colid = g.minor_idleft join
sys.extended_properties f
on
d.id
= f.major_id and f.minor_id = 0where
d.name = ‘Test‘--如果只查询指定表,加上此where条件,tablename是要查询的表名;去除where条件查询所有的表信息
order by
a.id,a.colorder
SQLserver查询表信息(所有列的名称,类型,字段说明)
以上是 SQLserver查询表信息(所有列的名称,类型,字段说明) [数据库教程] 的全部内容, 来源链接: utcz.com/z/534614.html