📅  最后修改于: 2020-11-17 02:04:52             🧑  作者: Mango
当我们使用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命令。