我想查询表的全部列的名称。 我找到了如何作到这一点: sql
但我须要知道: 如何在Microsoft SQL Server (在个人状况下为2008)中完成此操做? 架构
您能够经过查询信息架构视图来获取此信息以及更多信息 。 dom
此示例查询: spa
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = N'Customers'
能够在全部这些DB对象上进行: code
您能够使用存储过程sp_columns,它将返回与给定表的全部列有关的信息。 更多信息能够在这里找到http://msdn.microsoft.com/en-us/library/ms176077.aspx orm
您也能够经过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
这将获取全部表中的全部列,按表名排序,而后按列名排序。 get
经过使用此查询,您能够获得答案: io
select Column_name from Information_schema.columns where Table_name like 'table name'
它将检查给定的table
是否为Base Table 。
SELECT T.TABLE_NAME AS 'TABLE NAME', C.COLUMN_NAME AS 'COLUMN NAME' FROM INFORMATION_SCHEMA.TABLES T INNER JOIN INFORMATION_SCHEMA.COLUMNS C ON T.TABLE_NAME=C.TABLE_NAME WHERE T.TABLE_TYPE='BASE TABLE' AND T.TABLE_NAME LIKE 'Your Table Name'
SELECT name FROM sys.columns WHERE object_id = OBJECT_ID('TABLE_NAME')
TABLE_NAME
是您的表格