MySQL SHOW DATABASES: List All Databases in MySQL

MySQL SHOW DATABASES

摘要:在本教程中,您将学习如何使用 MySQL SHOW DATABASES 命令列出 MySQL 数据库服务器中的所有数据库。

使用 MySQL 显示数据库

要列出 MySQL 服务器主机上的所有数据库,请使用SHOW DATABASES命令,如下所示:

SHOW DATABASES;
Code language: SQL (Structured Query Language) (sql)

例如,要列出本地MySQL数据库服务器中的所有数据库,首先登录数据库服务器,如下所示:

>mysql -u root -p
Enter password: **********
mysql>
Code language: SQL (Structured Query Language) (sql)

然后使用SHOW DATABASES命令:

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| classicmodels      |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
6 rows in set (0.00 sec)
Code language: SQL (Structured Query Language) (sql)

SHOW SCHEMAS命令是SHOW DATABASES的同义词,因此以下命令返回与上述命令相同的结果:

SHOW SCHEMAS;
Code language: SQL (Structured Query Language) (sql)

如果要查询与特定模式匹配的数据库,可以使用LIKE子句,如下所示:

SHOW DATABASES LIKE pattern;
Code language: SQL (Structured Query Language) (sql)

例如,以下语句返回以字符串'schema'结尾的数据库;

SHOW DATABASES LIKE '%schema';
+--------------------+
| Database (%schema) |
+--------------------+
| information_schema |
| performance_schema |
+--------------------+
2 rows in set (0.00 sec)
Code language: SQL (Structured Query Language) (sql)

需要注意的是,如果 MySQL 数据库服务器以--skip-show-database启动,则除非您具有 SHOW SHOW DATABASES权限,否则无法使用SHOW DATABASES语句。

从information_schema查询数据库数据

如果LIKE子句中的条件不充分,可以直接从information_schema数据库中的schemata表中查询数据库信息。

例如,以下查询返回与SHOW DATABASES命令相同的结果。

SELECT schema_name 
FROM information_schema.schemata;
Code language: SQL (Structured Query Language) (sql)

以下SELECT语句返回名称以'schema''s'结尾的数据库。

SELECT schema_name
FROM information_schema.schemata
WHERE schema_name LIKE '%schema' OR 
      schema_name LIKE '%s';
Code language: SQL (Structured Query Language) (sql)

它返回以下结果集:

+--------------------+
| SCHEMA_NAME        |
+--------------------+
| information_schema |
| performance_schema |
| sys                |
| classicmodels      |
+--------------------+
4 rows in set (0.00 sec)
Code language: SQL (Structured Query Language) (sql)

在本教程中,您学习了如何使用SHOW DATABASES命令或从information_schema数据库中的schemata表中查询来显示 MySQL 服务器中的所有数据库。

本教程有帮助吗?