当前位置:首页 > 问答 > 正文

数据库管理|SQL查询:mysql显示当前数据库及所有数据库的语句

MySQL数据库查询指南:如何查看当前及所有数据库

2025年7月更新:根据MySQL 8.3最新文档,SHOW DATABASES语句的权限检查逻辑有所优化,普通用户现在能更清晰地看到自己有权限访问的数据库列表,而不再返回部分模糊结果。


为什么要查看数据库列表?

无论是开发调试还是日常运维,我们经常需要确认:

  • 当前连接的是哪个数据库
  • 服务器上存在哪些可用数据库
  • 验证新建的数据库是否创建成功

通过几个简单的SQL命令就能快速获取这些信息。


基础查询语句

查看当前使用的数据库

SELECT DATABASE();

执行后会返回类似结果:

数据库管理|SQL查询:mysql显示当前数据库及所有数据库的语句

+------------+
| DATABASE() |
+------------+
| shop_db    |
+------------+

如果显示NULL,说明你还没选择具体数据库(刚连接时的默认状态)。

列出所有数据库

SHOW DATABASES;

典型输出示例:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| shop_db            |
| test_db            |
+--------------------+

进阶使用技巧

过滤显示特定数据库

配合LIKE模糊查询:

数据库管理|SQL查询:mysql显示当前数据库及所有数据库的语句

SHOW DATABASES LIKE '%shop%';

只显示包含"shop"的数据库名。

查看数据库创建信息

SHOW CREATE DATABASE shop_db;

输出包含字符集等元数据:

+----------+---------------------------------------------------------------+
| Database | Create Database                                               |
+----------+---------------------------------------------------------------+
| shop_db  | CREATE DATABASE `shop_db` /*!40100 DEFAULT CHARACTER SET utf8mb4 */ |
+----------+---------------------------------------------------------------+

命令行直接查看(不登录MySQL)

在终端执行:

数据库管理|SQL查询:mysql显示当前数据库及所有数据库的语句

mysql -e "SHOW DATABASES;" -u 用户名 -p

注意事项

  1. 权限问题:普通用户可能看不到所有数据库,只能查看被授权的库
  2. 系统库说明
    • information_schema:存储元数据
    • mysql:用户权限等核心配置
    • performance_schema:性能监控数据
  3. 在存储过程中使用这些语句时需注意权限继承

可视化工具中的操作

像Navicat、DBeaver等工具通常会在左侧树形菜单直接展示数据库列表,但背后执行的仍然是这些基础SQL命令。

掌握这些基础语句,能让你在没有GUI工具的情况下也能轻松应对数据库查询需求。

发表评论