查询表信息(表名/表描述)
SELECT a.Name,(SELECT TOP 1 Value FROM sys.extended_properties b WHERE b.major_id=a.id and b.minor_id=0) AS value FROM sysobjects a
Where a.xtype = 'U' AND a.name <> 'sysdiagrams' AND a.name <> 'dtproperties' ORDER BY a.name asc
查询列信息(列ID/列名/数据类型/长度/精度/是否可以为null/默认值/是否自增/是否是主键/列描述)
SELECT a.colorder Colorder,a.name ColumnName,b.name TypeName,(case when (SELECT count(*) FROM sysobjects WHERE (name in (SELECT name FROM sysindexes WHERE (id = a.id) AND (indid in (SELECT indid FROM sysindexkeys WHERE (id = a.id) AND (colid in (SELECT colid FROM syscolumns WHERE (id = a.id) AND (name = a.name))))))) AND (xtype = 'PK'))>0 then 1 else 0 end) IsPK,(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then 1 else 0 end) IsIdentity, CASE WHEN (charindex('int',b.name)>0) OR (charindex('time',b.name)>0) THEN NULL ELSE COLUMNPROPERTY(a.id,a.name,'PRECISION') --a.length
end as [Length], CASE WHEN ((charindex('int',b.name)>0) OR (charindex('time',b.name)>0)) THEN NULL ELSE isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),null) end as Scale,(case when a.isnullable=1 then 1 else 0 end) CanNull,Replace(Replace(IsNull(e.text,''),'(',''),')','') DefaultVal,isnull(g.[value], ' ') AS DeText FROM syscolumns a left join systypes b on a.xtype=b.xusertype inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties' left join syscomments e on a.cdefault=e.id left join sys.extended_properties g on a.id=g.major_id AND a.colid=g.minor_id
Left join sys.extended_properties f on d.id=f.class and f.minor_id=0 where b.name is not NULL and d.name=N'表名' order by a.id,a.colorder