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' 

在执行SELECT语句之前,select使用use的数据库作为活动数据库上下文。

所以它会:

 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';