【发布时间】:2009-05-16 21:50:10
【问题描述】:
我需要一个 SQL 查询来查找现有数据库的名称。
【问题讨论】:
-
你好鲍勃琼斯!请确保您接受作为正确/已接受的答案,以帮助未来的用户。
-
@BobJones 看起来那里有一个适合你的答案 - 你能接受一个来帮助未来的用户吗?
标签: sql-server
我需要一个 SQL 查询来查找现有数据库的名称。
【问题讨论】:
标签: sql-server
这是在一个 Sql 引擎中显示所有数据库的查询
Select * from Sys.Databases
【讨论】:
SELECT name
FROM sys.databases
您只会看到您有权查看的数据库。
【讨论】:
另一个添加到组合中:
EXEC sp_databases
【讨论】:
我不推荐这种方法...但如果你想变得古怪和奇怪:
EXEC sp_MSForEachDB 'SELECT ''?'' AS DatabaseName'
或
EXEC sp_MSForEachDB 'Print ''?'''
【讨论】:
你也可以使用这些方式:
EXEC sp_helpdb
和:
SELECT name FROM sys.sysdatabases
推荐阅读:
别忘了看看sysdatabases VS sys.sysdatabases
类似的thread。
【讨论】:
This forum 也建议:
SELECT CATALOG_NAME AS DataBaseName FROM INFORMATION_SCHEMA.SCHEMATA
【讨论】:
对于“sys.databases”不起作用的人, 您也可以使用它;
SELECT DISTINCT TABLE_SCHEMA from INFORMATION_SCHEMA.COLUMNS
【讨论】:
dbo不是数据库名称
SELECT datname FROM pg_database WHERE datistemplate = false
#for postgres
【讨论】: