
[英]How to get database columns from more than one table in sql server and then group by table name
[英]Retrieving the name of columns of one table from a SQL Server database
是否可以在SQL Server数据库中检索表的列名列表?
这适用于任何版本的SQL Server。
SELECT c.COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS c
WHERE c.TABLE_SCHEMA = 'schemaName'
AND c.TABLE_NAME = 'tableName'
ORDER BY c.ORDINAL_POSITION
您可以在选择表名的同时按alt + f1,这与以下操作相同:
sp_help @ objname ='表名'
尝试这个:
SELECT
c.name 'Column Name',
FROM
sys.columns c
INNER JOIN
sys.types t ON c.system_type_id = t.system_type_id
LEFT OUTER JOIN
sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id
LEFT OUTER JOIN
sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id
WHERE
c.object_id = OBJECT_ID('YourTableName')
或这个:
SELECT SCHEMA_NAME(schema_id) AS schema_name,
c.name AS column_name
FROM sys.tables AS t
WHERE t.name = 'YourTableName'
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
ORDER BY schema_name, table_name;
从SQL Server 2005开始(直到编写此答案时为止,一直到SQL Server 2012), sp_columns
存储过程都可sp_columns
您提供特定表的列列表(还有很多其他内容!)。 返回的结果集将包含您要查找的COLUMN_NAME列。
要使用它,请在数据库中运行以下语句:
EXECUTE sp_columns @table_name='YourTableName'
可以在这里找到Microsoft的sp_columns
联机帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.