不太明白如何枚举特定数据库和表中的列。
我可以使用以下命令列出所有数据库:
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';