📜  MySQL显示/列表数据库

📅  最后修改于: 2020-11-17 02:04:52             🧑  作者: Mango

MySQL显示/列出数据库

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

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

mysql> SHOW DATABASES;

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

我们可以看到以下输出,对其进行了更清晰的解释:

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

使用模式匹配列出数据库

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

句法

以下是在“显示数据库”命令中使用模式匹配的语法:

mysql> SHOW DATABASES LIKE pattern;
OR,
mysql> SHOW DATABASES WHERE expression;

我们可以通过下面给出的示例来理解它,其中百分号(%)假定为零,一个或多个字符:

mysql> SHOW DATABASES LIKE "%schema";

上面的语句将给出以下输出:

有时LIKE子句还不够;然后,我们可以进行更复杂的搜索,以从信息模式中的模式表中查询数据库信息。 MySQL中的信息模式是一个信息数据库,因此我们可以使用SHOW DATABASES命令使用它来获取输出。

mysql> SELECT schema_name FROM information_schema.schemata;

该语句将得到与SHOW DATABASES命令相同的结果:

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

mysql>SELECT schema_name FROM information_schema.schemata WHERE schema_name LIKE 's%';

它将给出以下输出:


注意:请注意,如果MySQL服务器以“ –skip-show-database”选项启动,除非我们具有SHOW DATABASES特权,否则我们将无法使用SHOW DATABASES命令。