MySQL 显示数据库

一、SHOW语句显示MySQL数据库

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

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

mysql> SHOW DATABASES;  

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

我们可以看到以下输出更清楚地解释它:

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

二、使用LIKE语句过滤数据库

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

语法

以下是通过 Show Databases 命令使用模式匹配的语法:

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 命令相同的结果:

现在,我们将了解如何将 WHERE 子句与 SHOW DATABASES 命令一起使用。此语句返回 schema 名称以“s”开头的数据库:

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

输出结果如下:

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

热门文章

优秀文章