MySQL 显示/列出数据库

17 Mar 2025 | 阅读 2 分钟

当我们使用 MySQL 服务器时,显示或列出数据库、显示特定数据库中的表以及服务器上用户帐户及其权限信息是常见的任务。在本文中,我们将重点介绍如何在 MySQL 服务器中列出数据库。

我们可以使用以下命令列出 MySQL 服务器主机上所有可用的数据库,如下所示:

打开 MySQL 命令行客户端,它会显示一个 **mysql> 提示符**。接下来,使用您在安装 MySQL 期间创建的**密码**登录到 MySQL 数据库服务器。现在,您已连接到 MySQL 服务器主机,您可以在其中执行所有 SQL 语句。最后,运行 SHOW DATABASES 命令来列出/显示数据库。

我们可以看到以下输出,这解释得更清楚:

MySQL Show Databases

MySQL 还允许我们使用另一个命令来列出数据库,即 **SHOW SCHEMAS** 语句。此命令是 SHOW DATABASES 的同义词,并给出相同的结果。我们可以通过以下输出理解它:

MySQL Show Databases

使用模式匹配列出数据库

MySQL 中的 SHOW DATABASES 命令还提供了一个选项,允许我们使用不同的模式匹配(通过 **LIKE** 和 **WHERE** 子句)来**过滤**返回的数据库。LIKE 子句列出与指定模式匹配的数据库名称。WHERE 子句提供了更大的灵活性,可以列出与 SQL 语句中给定条件匹配的数据库。

语法

以下是使用模式匹配和 SHOW DATABASES 命令的语法:

我们可以通过下面的例子来理解,其中**百分号 (%)** 表示零个、一个或多个字符:

以上语句将产生以下输出。

MySQL Show Databases

有时 LIKE 子句不足以满足需求;这时,我们可以进行更复杂的搜索,从信息架构中的 schemata 表查询数据库信息。MySQL 中的信息架构是一个信息数据库,因此我们可以使用它来获取与 SHOW DATABASES 命令相同的输出。

此语句将给出与 SHOW DATABASES 命令相同的结果:

MySQL Show Databases

现在,我们将看到如何在 SHOW DATABASES 命令中使用 WHERE 子句。此语句返回模式名称以 **"s"** 开头的数据库:

它将提供以下输出

MySQL Show Databases

注意:需要注意的是,如果 MySQL 服务器以 "--skip-show-database" 选项启动,除非我们拥有 SHOW DATABASES 权限,否则我们不能使用 SHOW DATABASES 命令。