MySQL 列出数据库

简介
MySQL 是最流行的开源关系数据库管理系统之一,广泛应用于各种应用程序和系统中,本文将介绍如何在 MySQL 中列出所有数据库,并提供一些相关的常见问题及其解答。
方法一:使用 SHOW DATABASES 命令
要列出 MySQL 服务器上的所有数据库,可以使用SHOW DATABASES 命令,该命令需要通过 MySQL 客户端连接到服务器并执行,以下是具体步骤:
1、连接到 MySQL 服务器:
```bash
mysql -u user -p
```
在提示符下输入用户密码(如果设置了密码)。
2、执行 SHOW DATABASES 命令:
```sql
SHOW DATABASES;
```
这个命令会列出当前用户有权访问的所有数据库。
```plaintext

+--------------------+
| Database |
+--------------------+
| information_schema |
| opencart |
+--------------------+
2 rows in set (0.00 sec)
```
3、同义词 SHOW SCHEMAS:
```sql
SHOW SCHEMAS;
```
该命令与SHOW DATABASES 功能相同,输出结果也一样。
方法二:使用 MySQL 命令行选项
如果不希望登录到 MySQL shell,也可以使用命令行选项直接列出数据库:

mysql -u user -p -e 'show databases;'
或者使用mysqlshow 命令:
mysqlshow -u user -p
这些命令在终端中运行,不需要进入交互式的 MySQL shell,适合在脚本中使用。
方法三:过滤结果
可以根据特定模式过滤数据库列表,使用LIKE 子句:
SHOW DATABASES LIKE 'pattern';
列出所有以 "open" 开头的数据库:
SHOW DATABASES LIKE 'open%';
更复杂的过滤可以通过查询information_schema.schemata 表实现:
SELECT schema_name FROM information_schema.schemata WHERE schema_name LIKE 'open%' OR schema_name LIKE 'word%';
相关问题与解答
问题一:如何查看特定模式的数据库?
答:可以使用SHOW DATABASES LIKE 'pattern'; 命令来查看符合特定模式的数据库,以下命令将返回名称以 "open" 开头的所有数据库:
SHOW DATABASES LIKE 'open%';
问题二:如何在不登录 MySQL shell 的情况下列出数据库?
答:可以使用命令行选项-e 或mysqlshow 命令来实现。
mysql -u user -p -e 'show databases;'
或
mysqlshow -u user -p
这些命令可以直接在终端中运行,而无需进入交互式的 MySQL shell。