Sql Server 快速查看表结构(表描述及字段说明)

快速查看表对的就说明,及表字段描述及字段类型

 

  1. --表描述  

  2. SELECT tbs.name 表名,ds.value 描述   

  3. FROM sys.extended_properties ds  

  4. LEFT JOIN sysobjects tbs ON ds.major_id=tbs.id  

  5. WHERE  ds.minor_id=0 and  

  6.  tbs.name='Warrant_BaseInfo';--表名  

  7. --本人在sql2012中发现left join无效,故采取了下面的方法
    SELECT tbs.name 表名,ds.value 描述 
    FROM sys.extended_properties ds  
    inner JOIN sysobjects tbs ON ds.major_id=tbs.id  
    WHERE  ds.minor_id=0
    union 
    select tabName 表名,NULL from
     (SELECT OBJECT_NAME (id) as tabName,id FROM sysobjects WHERE xtype = 'U' AND OBJECTPROPERTY (id, 'IsMSShipped') = 0) a
    where tabName not in(
     SELECT tbs.name 表名  
     FROM sys.extended_properties ds  
     inner JOIN sysobjects tbs ON ds.major_id=tbs.id  
     WHERE  ds.minor_id=0
     )
  8. --快速查看表结构  

  9. SELECT  CASE WHEN col.colorder = 1 THEN obj.name  

  10.                   ELSE ''  

  11.              END AS 表名,  

  12.         col.colorder AS 序号 ,  

  13.         col.name AS 列名 ,  

  14.         ISNULL(ep.[value], ''AS 列说明 ,  

  15.         t.name AS 数据类型 ,  

  16.         col.length AS 长度 ,  

  17.         ISNULL(COLUMNPROPERTY(col.id, col.name'Scale'), 0) AS 小数位数 ,  

  18.         CASE WHEN COLUMNPROPERTY(col.id, col.name'IsIdentity') = 1 THEN '√'  

  19.              ELSE ''  

  20.         END AS 标识 ,  

  21.         CASE WHEN EXISTS ( SELECT   1  

  22.                            FROM     dbo.sysindexes si  

  23.                                     INNER JOIN dbo.sysindexkeys sik ON si.id = sik.id  

  24.                                                               AND si.indid = sik.indid  

  25.                                     INNER JOIN dbo.syscolumns sc ON sc.id = sik.id  

  26.                                                               AND sc.colid = sik.colid  

  27.                                     INNER JOIN dbo.sysobjects so ON so.name = si.name  

  28.                                                               AND so.xtype = 'PK'  

  29.                            WHERE    sc.id = col.id  

  30.                                     AND sc.colid = col.colid ) THEN '√'  

  31.              ELSE ''  

  32.         END AS 主键 ,  

  33.         CASE WHEN col.isnullable = 1 THEN '√'  

  34.              ELSE ''  

  35.         END AS 允许空 ,  

  36.         ISNULL(comm.text, ''AS 默认值  

  37. FROM    dbo.syscolumns col  

  38.         LEFT  JOIN dbo.systypes t ON col.xtype = t.xusertype  

  39.         inner JOIN dbo.sysobjects obj ON col.id = obj.id  

  40.                                          AND obj.xtype = 'U'  

  41.                                          AND obj.status >= 0  

  42.         LEFT  JOIN dbo.syscomments comm ON col.cdefault = comm.id  

  43.         LEFT  JOIN sys.extended_properties ep ON col.id = ep.major_id  

  44.                                                       AND col.colid = ep.minor_id  

  45.                                                       AND ep.name = 'MS_Description'  

  46.         LEFT  JOIN sys.extended_properties epTwo ON obj.id = epTwo.major_id  

  47.                                                          AND epTwo.minor_id = 0  

  48.                                                          AND epTwo.name = 'MS_Description'  

  49. WHERE   obj.name = 'Ath_LoanApply_tbl'--表名  

  50. ORDER BY col.colorder ;  

你可能感兴趣的:(Sql Server 快速查看表结构(表描述及字段说明))