SQL Server查询所有表格及字段的示例代码

 更新时间:2024年07月25日 09:37:49   作者:microsoft-zhcn  
这篇文章主要介绍了SQL Server查询所有表格及字段的示例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

SQL Server查询所有表格以及字段

查询所有表格:

select convert(varchar(64),s.id) as fRowId, s.name as TableName   
 , IsNull(cast(xp.[value] as nvarchar(4000)), s.name) as TableDesc       
    , ModuleCode = CONVERT(varchar(16),case when s.name like 't%' then SUBSTRING(s.name,2,3)   
         when SUBSTRING(s.name,4,1) = '_' then substring(s.name,1,3)    
         else '' end)       
    , fCreateTime = s.crdate 
from sysobjects s with(nolock)        
    left join sys.extended_properties xp with(nolock)           
     on  s.xtype='u' and xp.class = 1 and  xp.minor_id = 0 and  xp.major_id = s.id       
     and xp.name in (N'MS_Description')       
where s.xtype in ('u' , 'v')

查询所有字段:

select col.[object_id] as tableid, s.name as tablename, col.column_id , col.name 
    , IsNull(cast(xp.[value] as nvarchar(4000)), col.name) as [desc] ,      
    TypeName = type_name(col.user_type_id) ,      
    Prec = case when type_name(col.user_type_id) in ('nvarchar','nchar') then col.max_length/2      
           when col.precision = 0 then col.max_length else col.precision end ,      
    scale , Nullable = case when is_nullable = 1 then 'Y' else 'N' end , mm.text as [default] ,      
   IsPk = CASE WHEN i.index_id is not null THEN 1 ELSE 0 END      
from sysobjects s with(nolock) inner join sys.columns col with(nolock) on s.id = col.[object_id]     
    left join sys.extended_properties xp with(nolock)       
     on  xp.class = 1 and  xp.minor_id > 0 and  xp.major_id = col.[object_id]       
     and xp.name in (N'MS_Description') and COL_NAME(xp.major_id, xp.minor_id) = col.name      
   left join sys.syscomments mm with(nolock) on mm.id = col.default_object_id      
   LEFT JOIN sys.indexes i with(nolock) ON i.[object_id] = col.[object_id]      
     AND (i.is_unique = 1 OR i.is_primary_key = 1 or i.is_unique_constraint = 1)      
     AND (index_col(s.name, i.index_id,1)=col.name or      
          index_col(s.name, i.index_id,2)=col.name or      
          index_col(s.name, i.index_id,3)=col.name      
         )      
where s.xtype in ('u' , 'v')

根据表格名称,查询所有字段:

SELECT
    c.name AS 'Column Name',
    t.name AS 'Data Type',
    c.max_length AS 'Length',
    ISNULL(ep.value, '') AS 'Description'
FROM
    sys.columns c
LEFT JOIN
    sys.types t ON c.system_type_id = t.system_type_id
LEFT JOIN
    sys.extended_properties ep ON c.object_id = ep.major_id AND c.column_id = ep.minor_id
WHERE
    c.object_id = OBJECT_ID('tbmslevel') -- Replace with your table name
ORDER BY
    c.column_id;

到此这篇关于SQL Server查询所有表格以及字段的文章就介绍到这了,更多相关SQL Server查询所有表格内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SQLMAP插件tamper模块简介

    SQLMAP插件tamper模块简介

    这篇文章主要介绍了SQLMAP插件tamper模块介绍,在SQLMAP中,有很多tamper插件,常用的tamper插件及其作用本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • 索引的原理及索引建立的注意事项

    索引的原理及索引建立的注意事项

    聚集索引,数据实际上是按顺序存储的,数据页就在索引页上。就好像参考手册将所有主题按顺序编排一样。一旦找到了所要搜索的数据,就完成了这次搜索,对于非聚集索引,索引是安全独立于数据本身结构的,在索引中找到了寻找的数据,然后通过指针定位到实际的数据
    2012-07-07
  • SQL里类似SPLIT的分割字符串函数

    SQL里类似SPLIT的分割字符串函数

    SQL对字符串的处理能力比较弱,比如我要循环遍历象1,2,3,4,5这样的字符串,如果用数组的话,遍历很简单,但是T-SQL不支持数组,所以处理下来比较麻烦。下边的函数,实现了象数组一样去处理字符串。
    2011-04-04
  • SQL Server SQL Agent服务使用教程小结

    SQL Server SQL Agent服务使用教程小结

    SQL Server SQL Agent服务使用教程小结...
    2007-03-03
  • T-sql语句修改SQL Server数据库逻辑名、数据库名、物理名的方法

    T-sql语句修改SQL Server数据库逻辑名、数据库名、物理名的方法

    这篇文章主要介绍了T-sql语句修改SQL Server数据库逻辑名、数据库名、物理名的方法,结合实例形式分析了T-SQL语句操作数据库的基本技巧,非常简单易懂,需要的朋友可以参考下
    2016-06-06
  • 详解SQL中的DQL查询语言

    详解SQL中的DQL查询语言

    这篇文章主要介绍了SQL中的DQL查询语言,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • SQLServer地址搜索性能优化

    SQLServer地址搜索性能优化

    网上关于SQL优化的教程很多,但是比较杂乱。今天我们来从一个简单的例子来探讨下SQLServer地址搜索性能优化
    2017-01-01
  • sum(case when then)(判断男女生的个数)

    sum(case when then)(判断男女生的个数)

    判断类似一个班级的男生和女生的人数使用sum (cese when then)示例代码如下,感兴趣的朋友可以参考下
    2013-09-09
  • Sqlserver 表类型和表变量介绍

    Sqlserver 表类型和表变量介绍

    这篇文章介绍了Sqlserver 表类型和表变量,有需要的朋友可以参考一下
    2013-09-09
  • SQL Server正确删除Windows认证用户的方法

    SQL Server正确删除Windows认证用户的方法

    这篇文章主要给大家介绍了关于SQL Server正确删除Windows认证用户的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用SQL Server具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09

最新评论