返回顶部
首页 > 资讯 > 数据库 >查sqlserver表结构说明的方法
  • 322
分享到

查sqlserver表结构说明的方法

2024-04-02 19:04:59 322人浏览 独家记忆
摘要

一、查出某个库的所有表名USE database_name Go SELECT tab.name      &nbs

一、查出某个库的所有表名

USE database_name
Go

SELECT tab.name        AS tableName
FROM   sys.columns col
       INNER JOIN sys.tables tab
               ON col.object_id = tab.object_id
       LEFT JOIN sys.extended_properties per
              ON col.column_id = per.minor_id
                 AND per.major_id = tab.object_id
       INNER JOIN sys.types type
               ON col.user_type_id = type.user_type_id
group by tab.name 
ORDER  BY tab.name

二、查出某个库的所有字段说明

USE database_name
GO

SELECT tab.name        AS tableName,
       col.name        AS column_name,
       per.value       AS column_comment,
       col.is_identity AS column_key,
       type.name       AS data_type,
   col.max_length  AS column_length
FROM   sys.columns col
       INNER JOIN sys.tables tab
               ON col.object_id = tab.object_id
       LEFT JOIN sys.extended_properties per
              ON col.column_id = per.minor_id
                 AND per.major_id = tab.object_id
       INNER JOIN sys.types type
               ON col.user_type_id = type.user_type_id
ORDER  BY tab.name,
          col.is_identity DESC

二、查出某个库的所有字段说明(查出数据详细格式化版)

USE database_name
GO
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 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.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.major_id and f.minor_id=0    
     order by a.id,a.colorder


您可能感兴趣的文档:

--结束END--

本文标题: 查sqlserver表结构说明的方法

本文链接: https://lsjlt.com/news/38712.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作