SQL - 显示数据库



很多时候,您会遇到需要列出所有可用数据库的情况。MySQL 提供了一种方便的方法来使用SHOW DATABASES命令列出所有数据库,而 MS SQL Server 中没有特定的命令来显示或列出数据库,但是,您可以使用SELECT...FROM命令作为变通方法来列出可用的数据库。

使用 SQL 列出数据库

SQL 的SHOW DATABASES语句用于列出 MySQL 数据库中所有可用的数据库。您可以使用SHOW SCHEMAS作为SHOW DATABASES的替代命令。

语法

以下是 SQL SHOW DATABASES的语法,用于列出 MySQL 中所有可用的数据库:

SHOW DATABASES [LIKE 'pattern' | WHERE expr] ;

我们可以结合使用 LIKE 或 WHERE 子句和 SHOW DATABASES 来过滤数据库列表。

示例

以下是如何列出所有可用数据库的示例:

SHOW DATABASES;

输出将如下所示。此输出取决于系统中可用的数据库数量:

数据库
performance_schema
information_schema
mysql
testDB

以下是如何列出所有名称以“test”开头的数据库的示例:

SHOW DATABASES LIKE 'test%';

输出将如下所示:

数据库 (test%)
testDB

SHOW SCHEMAS 语句

您可以使用SHOW SCHEMAS语句作为SHOW DATABASES语句的替代。

语法

以下是 SQL SHOW SCHEMAS语句的语法,用于列出 MySQL 中所有可用的数据库:

SHOW SCHEMAS [LIKE 'pattern' | WHERE expr] ;

我们可以结合使用 LIKE 或 WHERE 子句和 SHOW SCHEMAS 来过滤数据库列表。

示例

以下是如何列出所有可用数据库的示例:

SHOW SCHEMAS;

输出将如下所示。此输出取决于系统中可用的数据库数量:

数据库
performance_schema
information_schema
mysql
testDB

以下是如何列出所有名称以“test”开头的数据库的示例:

SHOW SCHEMAS LIKE 'test%';

输出将如下所示:

数据库 (test%)
testDB

SELECT...FROM 语句

如果您使用的是 MS SQL Server,则可以使用SELECT...FROM语句列出所有可用的数据库,如下所示。

SQL> SELECT * FROM sys.databases;

输出

如果我们执行上述查询,它将返回一个表,其中列出了所有数据库以及有关数据库的相关信息。

名称 数据库 ID 源数据库 ID 所有者 SID
master 1 NULL 001
tempdb 2 NULL 001
model 3 NULL 001
msdb 4 NULL 001
testDB 5 NULL 001000

EXEC sp_databases 语句

如果您使用的是 MS SQL Server,则可以使用以下EXEC sp_databases语句列出所有数据库:

SQL> EXEC sp_databases;

输出

这将显示与我们从SELECT...FROM语句获得的结果相同的结果。

名称 数据库 ID 源数据库 ID 所有者 SID
master 1 NULL 001
tempdb 2 NULL 001
model 3 NULL 001
msdb 4 NULL 001
testDB 5 NULL 001000
广告