如何在MySQL中显示所有数据库的列表

在管理MySQL数据库服务器时,最常见的任务之一就是熟悉环境。 这涉及诸如列出服务器上驻留的数据库,显示特定数据库的表或获取有关用户帐户及其特权的信息之类的任务。

本教程说明了如何通过命令行显示MySQL或MariaDB服务器中的所有数据库。

显示MySQL数据库

获取MySQL数据库列表的最常见方法是使用 mysql 客户端连接到MySQL服务器并运行 SHOW DATABASES 命令。

使用以下命令访问MySQL服务器,并在出现提示时输入您的MySQL用户密码:

mysql -u user -p

如果您尚未为MySQL用户设置密码,则可以省略 -p 开关。

在MySQL Shell中执行以下命令:

SHOW DATABASES;

该命令将打印出用户具有授予其某种特权的所有数据库的列表。 输出将类似于以下内容:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| opencart           |
+--------------------+
2 rows in set (0.00 sec)

可以用来列出数据库的另一个命令是 SHOW SCHEMAS 这是 SHOW DATABASES 命令:

SHOW SCHEMAS;

输出将与使用 SHOW DATABASES 命令:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| opencart           |
+--------------------+
2 rows in set (0.00 sec)

显示所有MySQL数据库

要列出MySQL服务器上的所有数据库,您需要以可以访问所有数据库的用户身份登录,默认情况下是MySQL的root用户或设置一个全局用户 SHOW DATABASES 特权。

登录MySQL root用户:

mysql -u user -p

跑过 SHOW DATABASES 命令:

SHOW DATABASES;

您将看到My​​SQL服务器上所有数据库的列表:

+--------------------+
|     Databases      |
+--------------------+
| information_schema |
| database_name      |
| mysql              |
| opencart           |
| wordpress          |
| performance_schema |
| sys                |
+--------------------+

7 rows in set (0.00 sec)

过滤结果

LIKE 子句可用于过滤 SHOW DATABASES 根据特定模式命令。

SHOW DATABASES LIKE pattern;

例如,以下语句将返回名称以“ open”开头的所有数据库:

SHOW DATABASES LIKE 'open%';
+--------------------+
| Database           |
+--------------------+
| opencart           |
+--------------------+
1 rows in set (0.00 sec)

百分号(%)表示零个,一个或多个字符。

如果您要进行更复杂的搜索,请查询 schemata 从表 information_schema 数据库,其中包含有关所有数据库的信息。

以下语句将为您提供所有以“ open”或“ word”开头的数据库的列表:

SELECT schema_nameFROM information_schema.schemataWHERE schema_name LIKE 'open%' OR       schema_name LIKE 'word%';
+--------------------+
| Database           |
+--------------------+
| opencart           |
| wordpress          |
+--------------------+
2 rows in set (0.00 sec)

从命令行显示MySQL数据库

要获取数据库列表而不登录到MySQL Shell,可以使用 mysql 用命令 -e 代表执行或 mysqlshow 显示数据库和表信息。

当您想使用shell脚本处理MySQL数据库时,这特别有用。

在终端上运行以下命令以显示所有数据库的列表:

mysql -u user -p -e 'show databases;'
+--------------------+
| Database           |
+--------------------+
| information_schema |
| opencart           |
+--------------------+

这是使用 mysqlshow 命令:

mysqlshow -u user -p

输出将与上一个命令的输出相同。

如果要过滤输出,可以使用grep命令。

结论#

您已经了解了如何获取MySQL服务器中所有数据库的列表。

如有任何疑问,请随时发表评论。

MySQL数据库

Sidebar