Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取基本的SQL Server表结构信息_Sql_Sql Server - Fatal编程技术网

获取基本的SQL Server表结构信息

获取基本的SQL Server表结构信息,sql,sql-server,Sql,Sql Server,我可以通过以下方法获得SQL Server数据库中的列数: SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'Address' 但是有什么方法(对于未知数量的列)可以获得每个列的名称、数据类型和长度吗?而不是使用count(*)您可以选择*,您将返回您想要的所有详细信息,包括数据类型: SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'A

我可以通过以下方法获得SQL Server数据库中的列数:

SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'Address'

但是有什么方法(对于未知数量的列)可以获得每个列的名称、数据类型和长度吗?

而不是使用
count(*)
您可以
选择*
,您将返回您想要的所有详细信息,包括
数据类型

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'Address'

上的MSDN文档将为您提供有关表的全部信息,包括列、键和约束。例如,跑步

exec sp_help 'Address' 
将为您提供有关地址的信息。

或:


对于总列信息,请使用以下语法: 使用“DBName” 去 Exec SP_列“表名”

对于总表信息,请使用以下语法: 使用“DBName” 去
Exec SP_help“Table Name”

在查询编辑器中写入表名选择名称并按Alt+F1,它将显示表的所有信息

您可以使用以下功能:

sp_help TableName
sp_helptext ProcedureName

你什么意思?如果你做一个
SELECT*
而不是
SELECT COUNT(*)
,你会得到列名、数据类型、长度和关于列的更多信息。你已经得到了
信息\u架构。列
表,到底没有什么?@LittleBobbyTables好的,这只是显示了列的数量,不是他们的名字、数据类型或长度。@thomas-那是因为你在做
COUNT(*)
;见拉马克的评论。您可能想温习一下SQL,因为这是一种基本的SELECT知识,无意冒犯。@thomas但是,正如我前面所说的,如果您使用
SELECT*
,那么您确实可以获得所有其他信息是的,这正是我所需要的。是否存在任何函数将此返回的信息转换为创建相同表的语句?谢谢。@thomas您可以使用动态sql并生成一个sql字符串,该字符串可用于创建新表。@thomas您可以使用类似于此sql fiddle演示中的代码的东西——虽然此代码片段可以解决此问题,但确实有助于提高您文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。
SELECT COLUMN_NAME AS ColumnName, DATA_TYPE AS DataType, CHARACTER_MAXIMUM_LENGTH AS CharacterLength
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'OurTableName'
sp_help TableName
sp_helptext ProcedureName