如何获取 SQL Server 中的表结构?

Posted

技术标签:

【中文标题】如何获取 SQL Server 中的表结构?【英文标题】:How to get the table structure in SQL Server? 【发布时间】:2016-07-25 09:52:23 【问题描述】:

我的任务是获取 SQL Server 中的表结构(这意味着所有列及其数据类型和约束是什么)

【问题讨论】:

运行sp_help tablename? 谢谢詹姆斯,您的查询对我有用。 【参考方案1】:

这将列出所有列、它们所属的架构和表、它们的数据类型、最大长度、精度和比例(对于数字类型) - 您还需要什么??

SELECT
    SchemaName = sch.name,
    TableName = t.Name,
    ColumnName = c.Name,
    TypeName = ty.Name,
    MaxLength = c.max_length,
    Precision = c.precision,
    Scale = c.scale
FROM 
    sys.columns c
INNER JOIN 
    sys.tables t ON t.object_id = c.object_id
INNER JOIN 
    sys.schemas sch ON sch.schema_id = t.schema_id
INNER JOIN 
    sys.types ty ON c.user_type_id = ty.user_type_id

【讨论】:

【参考方案2】:

sp_help 可用于获取有关表的所有详细信息。 你可以做这样的事情 -

执行 sp_help yourtableName

【讨论】:

它也可以工作,我可以知道'exec sp_help'[M3FDBTST].[MVXJDTA].[CMNCMP]'之间的区别;'和“sp_help 表名?”;

以上是关于如何获取 SQL Server 中的表结构?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 SQL Server 中的表中获取不匹配的数据

如何在 sql server 2008 中获取没有约束的表列?

如何在 SQL Server 中使用存储过程提高和加快获取数据的速度?

如何从 SQL Server 中特定数据库的表中获取所有列名?

如何从 SQL Server Management Studio 中的表生成 CRUD 存储过程

如何从 SQL Server 2014 中的 Select 查询中将数据分配给用户定义的表类型