—查询数据库中所有的表名字段名说明 详细信息

系统 1761 0

——直接放在需要查询的库中执行即可。

       SELECT (
      
        case
      
       when a.colorder=
      
        1
      
       then d.name 
      
        else
      
      
        null
      
      
         end) 表名,  

 a.colorder 字段序号,a.name 字段名,

 (
      
      
        case
      
       when COLUMNPROPERTY( a.id,a.name,
      
        '
      
      
        IsIdentity
      
      
        '
      
      )=
      
        1
      
       then 
      
        '
      
      
      
        '
      
      
        else
      
      
        ''
      
      
         end) 标识, 

 (
      
      
        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 
      
        '
      
      
      
        '
      
      
        else
      
      
        ''
      
      
         end) 主键,b.name 类型,a.length 占用字节数,  

 COLUMNPROPERTY(a.id,a.name,
      
      
        '
      
      
        PRECISION
      
      
        '
      
      ) 
      
        as
      
      
         长度,  

 isnull(COLUMNPROPERTY(a.id,a.name,
      
      
        '
      
      
        Scale
      
      
        '
      
      ),
      
        0
      
      ) 
      
        as
      
       小数位数,(
      
        case
      
       when a.isnullable=
      
        1
      
       then 
      
        '
      
      
      
        '
      
      
        else
      
      
        ''
      
      
         end) 允许空,  

 isnull(e.text,
      
      
        ''
      
      ) 默认值,isnull(g.[value], 
      
        '
      
      
        '
      
      
        ) AS [说明]

 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
      
      

 --WHERE d.name=
      
        '
      
      
        要查询的表
      
      
        '
      
       --
      
        如果只查询指定表,加上此条件

 order by a.id,a.colorder
      
    

 

—查询数据库中所有的表名字段名说明 详细信息


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论