我有一个SQL Server数据库,我想知道它有什么列和类型。我更喜欢通过查询而不是使用像Enterprise Manager这样的GUI来实现这一点。有办法做到这一点吗?


当前回答

SQL Server中与Oracle的describe命令等价的是存储的proc sp_help

describe命令提供了列名、类型、长度等信息。

在SQL Server中,假设你想在数据库'mydb'中的模式'myschema'中描述一个表'mytable',你可以这样做:

USE mydb;
exec sp_help 'myschema.mytable';

其他回答

你可以使用sp_columns存储过程:

exec sp_columns MyTable

请使用以下sql查询;这对我的案子很管用。

select * FROM   INFORMATION_SCHEMA.Columns where table_name = 'tablename';

只需双击表名并按Alt+F1

除了上述问题,如果我们在DB中有像db_name.dbo这样的表。Table_name,我们可以使用以下步骤

连接DB 使用db_name; 使用EXEC sp_help,不要忘记将表名设置为'dbo。表名'如果你有dbo作为schema。 Exec sp_help 'dbo.table_name'

这应该有用!

除了在其他答案中显示的方法,你还可以使用

SELECT TOP 0 * FROM table_name

这将为您提供每个列的名称,其中没有结果,并且几乎立即以最小的开销完成。