摘要:在本教程中,您将学习如何使用 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 服务器中的所有数据库。
本教程有帮助吗?