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


当前回答

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

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

其他回答

您可以使用以下方法:sp_help表名

[示例]sp_help客户

或使用快捷键

选择所需的表并按ALT+F1。

示例:客户按“ALT+F1”。

有几个方法可以获取一个表的元数据:

EXEC sp_help tablename

将返回几个结果集,描述表、它的列和约束。

INFORMATION_SCHEMA视图将为您提供所需的信息,但不幸的是,您必须手动查询这些视图并连接它们。

如果你正在使用Brent Ozar团队的FirstResponderKit,你也可以运行这个查询:

exec sp_blitzindex @tablename='MyTable'

它将返回关于表的所有信息:

索引及其使用统计信息(读、写、锁等)、空间 二手和其他 缺失索引 列 外键 统计内容

当然,它不是一个系统,也不像sp_help或sp_columns那样通用,但它返回关于表的所有可能信息,我认为值得在您的环境中创建它并在这里提到它。

use

SELECT COL_LENGTH('tablename', 'colname')

其他的解决方法对我都不起作用。

你可以使用sp_columns存储过程:

exec sp_columns MyTable