MSSQL - 显示特定表和数据库中的列

MSSQL - 显示特定表和数据库中的列

不太明白如何枚举特定数据库和表中的列。

我可以使用以下命令列出所有数据库:

SELECT name from master..sysdatabases
go

我可以显示特定数据库的所有表

SELECT TABLE_NAME FROM ValidUsers.INFORMATION_SCHEMA.Tables WHERE TABLE_TYPE = 'BASE TABLE'

然后我尝试列出特定表的所有列,但什么也没出现。我猜我需要以某种方式指定数据库,但我不知道该怎么做。

select COLUMN_NAME from information_schema.columns where table_name = 'Admins' 

答案1

use在执行 SELECT 语句之前,选择数据库作为活动数据库上下文。

因此它会:

USE mydatabase;
SELECT column_name FROM information_schema.columns WHERE table_name = 'Admins';

另一种方法是将数据库作为 information_schema 的前缀,如下所示:

SELECT column_name FROM [mydatabase].information_schema.columns WHERE table_name = 'Admins';

相关内容