我怎样可以从SQL Server的一个表中获取列名?
我怎样可以从SQL Server的一个表中获取列名?
我想查询表的所有列名。我在以下链接中找到了如何做到这一点:
但我还需要知道:如何在 Microsoft SQL Server (2008)中完成此操作?
admin 更改状态以发布 2023年5月22日
您可以使用存储过程sp_columns,该过程将返回给定表的所有列的信息。更多信息可以在此处找到http://msdn.microsoft.com/en-us/library/ms176077.aspx
您还可以通过SQL查询来执行此操作。像这样的一些东西应该有所帮助:
SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('dbo.yourTableName')
或者变化会是:
SELECT o.Name, c.Name FROM sys.columns c JOIN sys.objects o ON o.object_id = c.object_id WHERE o.type = 'U' ORDER BY o.Name, c.Name
这将获取所有表中的所有列,按表名和列名排序。
您可以通过查询Information Schema视图获得此信息和更多信息。
可以通过以下所有DB对象进行该示例查询:
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = N'Customers'
- CHECK_CONSTRAINTS
- COLUMN_DOMAIN_USAGE
- COLUMN_PRIVILEGES
- COLUMNS
- CONSTRAINT_COLUMN_USAGE
- CONSTRAINT_TABLE_USAGE
- DOMAIN_CONSTRAINTS
- DOMAINS
- KEY_COLUMN_USAGE
- PARAMETERS
- REFERENTIAL_CONSTRAINTS
- ROUTINES
- ROUTINE_COLUMNS
- SCHEMATA
- TABLE_CONSTRAINTS
- TABLE_PRIVILEGES
- TABLES
- VIEW_COLUMN_USAGE
- VIEW_TABLE_USAGE
- VIEWS