Sql 简明教程

SQL - Show Databases

很多时候,我们都会遇到需要列出所有可用数据库的情况。MySQL 提供了一种使用 SHOW DATABASES 命令列出所有数据库的便捷方式,而 MS SQL Server 中没有用于显示或列出数据库的特定命令,但你可以把 SELECT…​FROM 命令用作列出可用数据库的变通方法。

List Databases using SQL

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

Syntax

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

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

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

Example

以下是列出所有可用数据库的示例。

SHOW DATABASES;

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

Database

performance_schema

information_schema

mysql

testDB

以下是列出所有名称以 test 开头的数据库的示例。

SHOW DATABASES LIKE 'test%';

输出将如下显示 −

Database (test%)

testDB

The SHOW SCHEMAS Statement

你可以使用 SHOW SCHEMAS 语句作为 SHOW DATABASES 语句的备选。

Syntax

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

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

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

Example

以下是列出所有可用数据库的示例。

SHOW SCHEMAS;

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

Database

performance_schema

information_schema

mysql

testDB

以下是列出所有名称以 test 开头的数据库的示例。

SHOW SCHEMAS LIKE 'test%';

输出将如下显示 −

Database (test%)

testDB

The SELECT…​FROM Statement

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

SQL> SELECT * FROM sys.databases;

Output

如果执行上述查询,它会返回一张表,其中列出所有数据库以及与数据库相关的信息。

name

database_id

source_database_id

owner_sid

master

1

NULL

001

tempdb

2

NULL

001

model

3

NULL

001

msdb

4

NULL

001

testDB

5

NULL

001000

The EXEC sp_databases Statement

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

SQL> EXEC sp_databases;

Output

这将显示与 SELECT…​FROM 语句相同的结果。

name

database_id

source_database_id

owner_sid

master

1

NULL

001

tempdb

2

NULL

001

model

3

NULL

001

msdb

4

NULL

001

testDB

5

NULL

001000