SELECT DATABASE();
;PostgreSQL使用SELECT current_database();
;SQL Server通过SELECT DB_NAME()
查询;Oracle需执行SELECT name FROM v$database
,也可通过数据库管理工具或配置文件直接查看当前连接的数据库信息。在实际工作中,无论是开发、运维还是数据分析场景,查看数据库名称都是最基础的技能之一,以下是针对不同数据库类型的详细操作方法,适用于Windows、Linux及macOS系统环境:
关系型数据库查看方法
- MySQL/MariaDB
-- 连接数据库后执行(需至少拥有SHOW DATABASES权限) SHOW DATABASES;
— 查看当前使用的数据库
SELECT DATABASE();
— 通过系统表查询(MySQL 5.0+)
SELECT schema_name FROM information_schema.schemata;
*权限说明:普通用户通常只能查看权限范围内的数据库*
2. **SQL Server**
```sql
-- 使用系统存储过程
EXEC sp_databases;
-- 查询系统视图
SELECT name FROM sys.databases;
-- 查看当前数据库
SELECT DB_NAME() AS CurrentDatabase;
- Oracle
-- 查看所有PDB数据库(12c及以上版本) SELECT name FROM v$pdbs;
— 查看CDB容器数据库
SELECT name FROM v$database;
— 查看当前实例名
SELECT instance_name FROM v$instance;
4. **PostgreSQL**
```sql
-- 列出所有数据库
l 或 SELECT datname FROM pg_database;
-- 查看当前数据库
SELECT current_database();
NoSQL数据库查看方法
-
MongoDB
// 连接到mongod实例后 show dbs 或 db.adminCommand({listDatabases:1})
-
Redis
# 查看所有键空间(等效数据库) INFO keyspace
命令行工具查询
-
MySQL客户端
mysql -u root -p -e "SHOW DATABASES;"
-
PostgreSQL终端
psql -U postgres -l
可视化工具查询
-
Navicat
连接数据库后 > 左侧对象窗格直接显示数据库列表 -
DBeaver
展开数据库连接 > 数据库节点 > 显示所有Schema -
phpMyAdmin
登录后左侧直接显示数据库列表
系统级查询(Linux环境)
-
查看MySQL数据目录
ls -l /var/lib/mysql/
-
PostgreSQL数据存储位置
psql -U postgres -c "SHOW data_directory;"
常见问题解答
Q1:为什么SHOW DATABASES
不显示全部数据库?
A:账户权限不足,需用root账户或联系管理员授权
Q2:忘记数据库名怎么办?
A:1. 检查应用配置文件 2. 查询连接日志 3. 全量备份还原测试
Q3:如何批量导出所有数据库名?
mysql -N -e "SHOW DATABASES" > db_list.txt
注意事项
- 生产环境操作前需确认权限
- 敏感数据库建议配置访问审计
- 云数据库可能受管控台权限限制
引用说明
本文方法参考自:
- MySQL 8.0官方手册
- Microsoft SQL Server技术文档
- MongoDB官方操作指南
- PostgreSQL 14管理员手册
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/5442.html