我想查询一个表的所有列的名称。我发现如何做到这一点:
甲骨文 MySQL PostgreSQL
但我也需要知道:如何在Microsoft SQL Server(在我的情况下是2008年)中做到这一点?
我想查询一个表的所有列的名称。我发现如何做到这一点:
甲骨文 MySQL PostgreSQL
但我也需要知道:如何在Microsoft SQL Server(在我的情况下是2008年)中做到这一点?
当前回答
您可以编写此查询来获得列名和所有详细信息,而无需使用 MySql中的INFORMATION_SCHEMA:
SHOW COLUMNS FROM database_Name.table_name;
其他回答
SELECT name
FROM sys.columns
WHERE object_id = OBJECT_ID('TABLE_NAME')
TABLE_NAME是你的表
您可以通过查询information Schema视图获得这些信息以及更多信息。
这个示例查询:
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'Customers'
可以在所有这些DB对象上创建:
CHECK_CONSTRAINTS COLUMN_DOMAIN_USAGE COLUMN_PRIVILEGES 列 CONSTRAINT_COLUMN_USAGE CONSTRAINT_TABLE_USAGE DOMAIN_CONSTRAINTS 域 KEY_COLUMN_USAGE 参数 REFERENTIAL_CONSTRAINTS 例程 ROUTINE_COLUMNS 图式 TABLE_CONSTRAINTS TABLE_PRIVILEGES 表 VIEW_COLUMN_USAGE VIEW_TABLE_USAGE 的观点
只需运行这个命令
EXEC sp_columns 'Your Table Name'
它将检查给定的表是否是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'
你可以尝试使用:-
USE db_name;
DESCRIBE table_name;
它会给你带有类型的列名。