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查询所有表格内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • sqlserver数据库规模膨胀太大怎么优化

    sqlserver数据库规模膨胀太大怎么优化

    数据库规模膨胀是SQLServer数据库运维中常见的问题之一,本文介绍了一些缓解膨胀问题的方法,包括增加内存、数据压缩、数据库分区等,在实践过程中,应根据具体情况,采取适当的方法,以达到最优的缓解膨胀问题的效果
    2024-02-02
  • SQL Server误区30日谈 第30天 有关备份的30个误区

    SQL Server误区30日谈 第30天 有关备份的30个误区

    备份不会导致对用户对象加锁,虽然备份对IO系统的负担导致看起来阻塞了,但实际上不会。唯一的特例是当备份包含到那些最小日志操作涉及到的数据区需要被加锁时,这个操作会阻塞CheckPoint,但DML操作永远不会受到备份操作的阻塞
    2013-01-01
  • SQL数据类型转换CAST详解

    SQL数据类型转换CAST详解

    本文介绍了SQL中的CAST函数,用于在不同数据类型之间进行转换,它在数据查询、分析和跨系统数据交互中广泛使用,通过CAST函数,可以将字符串转换为数字,日期转换为特定格式,以及处理不同类型之间的转换规则,感兴趣的可以了解一下
    2026-01-01
  • 调整SQLServer2000运行中数据库结构

    调整SQLServer2000运行中数据库结构

    这篇文章主要介绍了调整SQLServer2000运行中数据库结构,十分实用的一个功能,这里推荐给大家,有需要的小伙伴可以参考下。
    2015-04-04
  • sqlserver数据库移动数据库路径的脚本示例

    sqlserver数据库移动数据库路径的脚本示例

    前段时间做过这么一件事情,把原本放在c盘的所有数据库(除了sql server系统文件外)文件Move到D盘,主要是为了方便后续管理以及减少磁盘I/O阻塞(C,D是2个独立磁盘)。脚本需输入2个参数:目标数据库名字和目标目录
    2013-12-12
  • SQL Server 数据库备份和还原认识和总结(二)

    SQL Server 数据库备份和还原认识和总结(二)

    本文将针对上文继续进行数据备份和还原讲解,主要讲解备份和还原的一些关键选项
    2012-08-08
  • SQL Server只取年月日和获取月初月末简单举例

    SQL Server只取年月日和获取月初月末简单举例

    这篇文章主要给大家介绍了关于SQL Server只取年月日和获取月初月末的相关资料,在SQL Server中截取日期中的年月可以通过内置函数来实现,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • 拯救你的数据 通过日志恢复MSSQL数据

    拯救你的数据 通过日志恢复MSSQL数据

    这篇文章主要为大家详细介绍了如何通过日志恢复MSSQL数据的具体步骤,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • SQL server中视图(view)创建、修改与删除

    SQL server中视图(view)创建、修改与删除

    这篇文章主要给大家介绍了关于SQL server中视图(view)创建、修改与删除的相关资料,视图(View)是从一个或多个表或其它视图导出的,用来导出视图的表称为基表,导出的视图又称为虚表,需要的朋友可以参考下
    2024-01-01
  • 解析Mybatis对sql表的一对多查询问题

    解析Mybatis对sql表的一对多查询问题

    这篇文章主要介绍了解析Mybatis对sql表的一对多查询,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06

最新评论