繁体   English   中英

如何从 SQL Server 中特定数据库的表中获取所有列名?

[英]How can I get all column names from a table from a specific database in SQL Server?

这个查询给出了所有数据库中的所有列名。

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'Customers'

但是我需要从特定数据库的表中获取所有列名。 因为我有多个同名的表。 怎么做? 有没有像

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE DATABASE_NAME = 'database_name' TABLE_NAME = 'table_name'

我正在使用 xampp 服务器和 phpMyAdmin。

引用精美的手册

26.3.8 INFORMATION_SCHEMA COLUMNS 表

...

COLUMNS 表具有以下列:

 TABLE_CATALOG The name of the catalog to which the table containing the column belongs. This value is always def. TABLE_SCHEMA The name of the schema (database) to which the table containing the column belongs.

...

..你应该在执行SELECT *时看到它?

这是我预期结果的 SQL

SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA='database_name' AND TABLE_NAME = 'table_name';

你想要这样的东西。

SELECT TABLE_NAME, COLUMN_NAME
  FROM INFORMATION_SCHEMA.COLUMNS
 WHERE TABLE_SCHEMA = DATABASE()
   AND TABLE_NAME = 'whatever'
ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION;

MySQL INFORMATION_SCHEMA 使用名为TABLE_SCHEMA来保存每个表的数据库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM