sql server 查询表结构

时间:2023-03-09 13:16:56
sql server  查询表结构
--查询表结构start
SELECT 序号 = a.colorder,字段名称 = a.name,字段描述 = f.value,
标识 = 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,
长度 = COLUMNPROPERTY(a.id,a.name,'PRECISION'),
允许空 = case when a.isnullable = 1 then '√' else '' end,
默认值 = isnull(e.text,'')
FROM syscolumns a
left join systypes b on a.xusertype = 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 f on f.major_id = d.id and f.minor_id = a.colorder
where d.name='表名'
order by a.id,a.colorder
--查询表结构end