DBeaver - 开发者的数据库瑞士军刀
作为一个需要频繁与数据库打交道的开发者,我尝试过无数的数据库管理工具:Navicat、DataGrip、MySQL Workbench、pgAdmin…
但自从遇到 DBeaver,我就再也没有换过其他工具。
为什么选择 DBeaver
我的痛点
在使用 DBeaver 之前,我的数据库工具箱是这样的:
- 💰 MySQL → Navicat(付费,贵)
- 🐘 PostgreSQL → pgAdmin(界面难用)
- 🔷 SQL Server → SSMS(只能在 Windows 上用)
- 🐬 MongoDB → Robo 3T(功能有限)
- ⚡ Redis → RedisDesktop Manager(又要付费)
每次切换数据库,就要切换工具。每个工具的快捷键、界面逻辑都不一样,学习成本高,效率低下。
DBeaver 的解决方案
一个工具,管理所有数据库。
这不是夸张,DBeaver 真的支持 100+ 种数据库,从传统的关系型数据库到 NoSQL,从云数据库到大数据平台,几乎应有尽有。
项目数据:
- ⭐ Stars: 45.7k+
- 🍴 Forks: 3.9k
- 📝 License: Apache 2.0
- ☕ 语言: Java (99.6%)
- 🏗️ 架构: Eclipse RCP + OSGi
核心特性
1. 支持海量数据库 🗄️
社区版免费支持:
关系型数据库:
- MySQL / MariaDB
- PostgreSQL / TimescaleDB
- Oracle / EnterpriseDB
- SQL Server / Sybase
- DB2 / Informix
- SQLite / DuckDB
- H2 / Derby / HSQLDB
云数据库:
- AWS Redshift / Athena / Timestream
- Azure SQL / CosmosDB
- Google BigQuery / Spanner
- Snowflake / Databricks
- Alibaba MaxCompute
大数据平台:
- Apache Hive / Impala / Spark
- Apache Drill / Presto / Trino
- Apache Kylin / Druid
- ClickHouse / Apache Pinot
时序数据库:
- InfluxDB / TimescaleDB
- TDEngine / IotDB
国产数据库:
- Dameng(达梦)
- GaussDB(高斯)
- GBase 8s
- Kingbase(人大金仓)
- OceanBase
PRO 版额外支持:
- MongoDB / Cassandra / Couchbase
- Redis / InfluxDB
- Elasticsearch / OpenSearch
- Neo4j / AWS Neptune
- 文件格式:CSV / XLSX / JSON / XML / Parquet
2. 强大的 SQL 编辑器 ✍️
作为开发者,我在 SQL 编辑器中的时间最长。DBeaver 的编辑器体验非常出色:
智能补全:
|
|
AI 集成:
- 支持 OpenAI GPT
- 支持 GitHub Copilot
- 自然语言生成 SQL
- SQL 代码优化建议
格式化与美化:
|
|
语法高亮:
- 支持多种 SQL 方言
- 自定义配色方案
- 错误实时提示
3. 可视化数据编辑 📊
不需要写 UPDATE 语句,直接在表格中修改数据:
┌─────┬──────────┬───────────────┬────────┐
│ ID │ Name │ Email │ Status │
├─────┼──────────┼───────────────┼────────┤
│ 1 │ Alice │ [email protected] │ active │ → 双击编辑
│ 2 │ Bob │ [email protected] │ active │
│ 3 │ Charlie │ charlie@... │ [null] │ → 右键设置为 NULL
└─────┴──────────┴───────────────┴────────┘
支持的操作:
- ✅ 增删改查(CRUD)
- ✅ 批量编辑
- ✅ 复制/粘贴行
- ✅ NULL 值处理
- ✅ 二进制数据编辑
- ✅ JSON/XML 数据格式化
4. ER 图与数据库设计 🎨
自动生成 ER 图:
右键数据库 → View Diagram → 自动生成关系图
┌──────────────┐ ┌──────────────┐
│ users │ │ orders │
├──────────────┤ ├──────────────┤
│ * id (PK) │───1:N───│ * id (PK) │
│ name │ │ user_id(FK)│
│ email │ │ total │
│ created_at │ │ status │
└──────────────┘ └──────────────┘
可视化设计:
- 拖拽创建表
- 可视化定义关系
- 一键生成 DDL
- 对比数据库差异
5. 数据导入导出 📤📥
支持的格式:
- CSV / TSV
- JSON / BSON
- XML
- Excel (XLSX)
- HTML
- SQL Insert 语句
- Markdown Table
我的使用场景:
|
|
6. SSH 隧道与代理 🔐
连接生产环境数据库的神器:
本地电脑 → SSH 跳板机 → 生产数据库
(公网) (内网)
配置步骤:
- Connection Settings → SSH
- 配置跳板机地址和认证
- 自动建立隧道连接
支持的认证方式:
- 密码认证
- SSH Key 认证
- SSH Agent 认证
7. 执行计划分析 📈
优化慢查询的利器:
|
|
可视化展示:
- 树状结构显示
- 每个节点的成本
- 扫描行数统计
- 建议添加的索引
我的实际使用场景
场景 1: 多数据库项目开发
我参与的一个项目同时使用了:
- PostgreSQL - 主业务数据
- MongoDB - 日志存储
- Redis - 缓存
- ClickHouse - 数据分析
传统方式:需要 4 个工具,来回切换
使用 DBeaver:一个窗口,多个连接标签,随时切换
场景 2: 数据库迁移
从 MySQL 迁移到 PostgreSQL:
- 对比结构:Database → Compare → 找出差异
- 导出数据:Export Data → CSV
- 调整 SQL:修改数据类型和语法
- 导入数据:Import Data → PostgreSQL
整个过程在 DBeaver 中一气呵成。
场景 3: 生产环境排查
凌晨 2 点,生产环境报警:
|
|
关键优势:
- 保存的连接配置,秒级连接
- 历史 SQL 查询记录
- 快捷键操作,效率高
场景 4: 数据分析与报告
产品经理:“能给我一份上个月的用户增长数据吗?”
|
|
场景 5: 学习新数据库
最近项目要用 ClickHouse,我不熟悉:
- DBeaver 安装 ClickHouse 驱动(自动下载)
- 连接测试环境
- 查看表结构、索引、分区信息
- 运行示例查询,学习语法
- 对比与 PostgreSQL 的差异
学习效率提升 10 倍。
实用技巧
1. 快捷键
我最常用的快捷键:
|
|
2. 自定义模板
创建常用 SQL 模板:
|
|
使用:输入缩写 → Tab → 填充变量
3. SQL 脚本管理
Project/
├── scripts/
│ ├── schema/
│ │ ├── create_tables.sql
│ │ └── alter_tables.sql
│ ├── data/
│ │ ├── seed_data.sql
│ │ └── test_data.sql
│ └── queries/
│ ├── analytics.sql
│ └── reports.sql
在 DBeaver 中:
- 按项目组织 SQL 文件
- Git 版本控制
- 团队共享
4. 结果集处理
|
|
5. 批量操作
批量重命名表:
|
|
批量修改字段:
|
|
高级功能
1. 多连接执行
同时在多个数据库执行相同的查询:
|
|
适用场景:
- 多租户系统数据统计
- 分库分表数据聚合
- 多环境数据对比
2. Mock Data 生成
生成测试数据:
|
|
支持:
- 随机字符串
- 随机数字
- 随机日期
- UUID 生成
- 自定义规则
3. 数据库元数据搜索
全局搜索:
Ctrl + H → 输入关键词
搜索范围:
- 表名
- 列名
- 视图
- 存储过程
- 触发器
- 索引
案例:
- 找到所有包含 “user_id” 的表
- 找到所有使用 “email” 字段的地方
- 找到所有包含 “created_at” 的索引
4. ERD 反向工程
从现有数据库生成文档:
- 右键数据库 → View Diagram
- 调整布局
- 导出为图片(PNG/SVG)
- 生成 HTML 文档
用途:
- 项目文档
- 新人培训
- 架构评审
- 数据库重构
5. 自定义驱动
连接特殊数据库:
Database → Driver Manager → New
- 下载 JDBC 驱动
- 配置连接参数
- 测试连接
我用它连接过:
- 自研的内部数据库
- 嵌入式数据库
- 特殊版本的 MySQL
配置建议
我的配置
|
|
外观主题
Dark Theme(护眼):
- Window → Preferences → Appearance
- Theme → Dark
字体:
- 编辑器字体:Monaco / Consolas / Fira Code
- 结果集字体:系统默认
快捷键定制
我的自定义:
Execute SQL : Cmd + R (macOS)
Format SQL : Cmd + Shift + F
New SQL Editor : Cmd + N
Close Tab : Cmd + W
与其他工具对比
特性 | DBeaver | Navicat | DataGrip | MySQL Workbench |
---|---|---|---|---|
价格 | 免费 | $199+ | $199/年 | 免费 |
多数据库 | 100+ | 20+ | 20+ | MySQL only |
SQL 补全 | ✅ | ✅ | ✅ | ✅ |
AI 集成 | ✅ | ❌ | ❌ | ❌ |
ER 图 | ✅ | ✅ | ✅ | ✅ |
SSH 隧道 | ✅ | ✅ | ✅ | ✅ |
开源 | ✅ | ❌ | ❌ | ✅ |
跨平台 | ✅ | ✅ | ✅ | ✅ |
学习曲线 | 中 | 低 | 中 | 高 |
我的选择理由:
- 免费开源 - 无需盗版,无需付费
- 支持全面 - 一个工具管理所有数据库
- 功能强大 - 不输商业工具
- 社区活跃 - 问题能快速解决
- 持续更新 - 每月都有新版本
注意事项
1. 性能问题
大表查询:
|
|
配置限制:
- Preferences → Editors → SQL Editor
- Max rows: 10000
- Query timeout: 30s
2. 内存占用
DBeaver 基于 Eclipse,内存占用较大:
优化方法:
|
|
3. 连接管理
不要保存密码在明文:
- 使用 SSH Key 认证
- 使用 Master Password
- 使用密钥管理器
4. 慎用生产环境
安全建议:
- 只读账号连接生产库
- 开启 SQL 确认提示
- 备份重要操作的数据
- 使用事务操作
安装与入门
安装
官方下载:https://dbeaver.io/download/
支持平台:
- Windows
- macOS
- Linux
包管理器安装:
|
|
首次使用
- 创建连接:Database → New Database Connection
- 选择数据库类型:MySQL / PostgreSQL / …
- 配置连接参数:Host / Port / Database / User / Password
- 测试连接:Test Connection
- 保存:Finish
学习资源
- 官方文档:https://dbeaver.io/docs/
- Wiki:https://github.com/dbeaver/dbeaver/wiki
- YouTube 教程:DBeaver Official Channel
- 社区论坛:https://github.com/dbeaver/dbeaver/discussions
总结与推荐
我为什么离不开 DBeaver
使用 DBeaver 三年了,它已经成为我开发工具链中不可或缺的一部分:
- 效率提升 - 一个工具管理所有数据库,节省大量切换时间
- 学习成本低 - 统一的界面逻辑,学会一次,到处适用
- 功能全面 - 从查询到设计,从导入到分析,应有尽有
- 免费开源 - 不用担心版权问题,社区支持好
- 持续进化 - AI 集成、新数据库支持,一直在进步
适合人群
✅ 强烈推荐:
- 后端开发者
- 数据库管理员
- 数据分析师
- 需要管理多种数据库的团队
- 预算有限的个人开发者
⚠️ 可能不适合:
- 只用一种数据库的简单场景
- 需要极致性能的专业 DBA
- 不熟悉 Java/Eclipse 生态的用户
我的评分
- 功能性: ⭐⭐⭐⭐⭐ (5/5)
- 易用性: ⭐⭐⭐⭐☆ (4/5)
- 性能: ⭐⭐⭐☆☆ (3/5)
- 稳定性: ⭐⭐⭐⭐☆ (4/5)
- 社区: ⭐⭐⭐⭐⭐ (5/5)
总分: 4.2/5
最后的建议
- 花一天时间熟悉 - 值得投资
- 配置好快捷键 - 效率翻倍
- 学习 SQL 模板 - 重复工作自动化
- 加入社区 - 遇到问题有人帮
- 尝试 PRO 版 - 如果需要 NoSQL 支持
相关资源
- 官网:https://dbeaver.io/
- GitHub:https://github.com/dbeaver/dbeaver
- 最新版本:25.2.2 (2025-10-05)
- CloudBeaver:Web 版的 DBeaver
- 社区版 vs PRO:https://dbeaver.com/edition/
总之,如果你还在为管理多个数据库工具而烦恼,如果你还在为 Navicat 的价格而犹豫,如果你想要一个功能强大又免费的数据库工具,那么 DBeaver 就是你的最佳选择!
给它一个机会,你不会后悔的!🚀