跳转至

DBeaver:跨平台数据库管理工具

为什么要学 DBeaver

无论你是后端开发、数据分析还是 DBA,日常都需要连接数据库执行查询、查看表结构、导入导出数据。命令行工具(psql、mysql)高效但不直观,各数据库自带的 GUI(pgAdmin、phpMyAdmin)只能管一种数据库。

DBeaver 是一个通用数据库管理工具,支持所有主流关系型数据库和 NoSQL 数据库。社区版免费开源,功能覆盖日常 90% 以上的数据库操作需求。

核心优势: - 支持 80+ 数据库类型(PostgreSQL、MySQL、SQLite、MongoDB、Redis、ClickHouse...) - 可视化 ER 图 - SQL 编辑器(智能补全、格式化、执行计划) - 数据导入/导出(CSV、JSON、SQL、Excel) - SSH 隧道连接 - 跨平台(Windows、macOS、Linux) - 社区版完全免费


核心概念

白话解释

概念白话说明
Connection到一个数据库实例的连接配置
Database Navigator左侧面板,树形展示所有连接/库/表
SQL Editor写和执行 SQL 的编辑器
ER Diagram表关系的可视化图
Data Editor表格形式浏览和编辑数据
Driver连接特定数据库所需的 JDBC 驱动
Project组织连接和脚本的工作空间
Data Transfer数据导入/导出向导

DBeaver 版本对比

功能Community(免费)Pro(付费)
关系型数据库全部支持全部支持
NoSQL (MongoDB等)支持增强支持
SSH隧道支持支持
ER图支持增强版
数据导入导出支持更多格式
版本管理不支持Git集成
团队协作不支持支持
技术支持社区官方

对个人和大多数团队来说,Community 版已经够用。


安装配置

Windows

# 方式1:直接下载安装包
# https://dbeaver.io/download/

# 方式2:使用 winget
winget install dbeaver.dbeaver

# 方式3:使用 scoop
scoop install dbeaver

macOS

# Homebrew
brew install --cask dbeaver-community

Linux

# Ubuntu/Debian
sudo snap install dbeaver-ce

# 或者 Flatpak
flatpak install flathub io.dbeaver.DBeaverCommunity

# 或者下载 .deb
wget https://dbeaver.io/files/dbeaver-ce_latest_amd64.deb
sudo dpkg -i dbeaver-ce_latest_amd64.deb

首次启动配置

  1. 启动后选择工作空间目录
  2. 可选择安装推荐的驱动
  3. 设置主题(深色/浅色)
  4. 配置默认字体大小

快速上手

创建数据库连接

  1. 点击"新建连接"按钮(工具栏左上方的插头图标)
  2. 选择数据库类型(如 PostgreSQL)
  3. 填写连接信息:
  4. Host: localhost
  5. Port: 5432
  6. Database: mydb
  7. Username: postgres
  8. Password: ***
  9. 点击"Test Connection"验证
  10. 确认保存

SSH 隧道连接远程数据库

在连接设置中: 1. 切换到 SSH 标签页 2. 勾选 "Use SSH Tunnel" 3. 填写跳板机信息: - Host: bastion.example.com - Port: 22 - Username: deploy - Authentication: Private Key - Private Key: 选择 .pem 文件 4. 数据库 Host 填写内网地址(如 10.0.1.5)

执行 SQL 查询

  1. 双击连接打开
  2. 右键数据库 → "SQL Editor" → "Open SQL Script"
  3. 编写 SQL:
SELECT 
    u.name,
    COUNT(o.id) as order_count,
    SUM(o.amount) as total_spent
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
WHERE u.created_at > '2024-01-01'
GROUP BY u.name
ORDER BY total_spent DESC
LIMIT 20;
  1. Ctrl+Enter 执行当前语句 / Ctrl+Shift+Enter 执行全部

浏览和编辑数据

  1. 在左侧导航器中展开表
  2. 双击表名打开 Data Editor
  3. 直接在单元格中编辑数据
  4. 底部状态栏点击 "Save" 提交修改
  5. 支持过滤、排序、添加行、删除行

进阶用法

1. SQL 编辑器高级功能

智能补全: - 输入表名前几个字母后按 Ctrl+Space 触发补全 - 自动补全列名、函数名、关键字

格式化 SQL: - 选中 SQL → 右键 → Format → Format SQL - 或快捷键 Ctrl+Shift+F

查看执行计划: - 写好 SQL 后按 Ctrl+Shift+E(Explain) - 可视化展示查询计划和成本

多语句执行:

-- 用分号分隔多条语句
BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;

2. ER 图(实体关系图)

  1. 右键数据库或 Schema → "View Diagram"
  2. DBeaver 自动根据外键关系生成 ER 图
  3. 可以拖拽调整布局
  4. 导出为 PNG/SVG 用于文档

手动添加特定表到图中: - 从导航器拖拽表到 ER 图画布

3. 数据导入导出

导出为 CSV: 1. 右键表 → "Export Data" 2. 选择 "CSV" 格式 3. 配置分隔符、编码、文件路径 4. 点击"Proceed"

从 CSV 导入: 1. 右键目标表 → "Import Data" 2. 选择 CSV 文件 3. 映射列对应关系 4. 预览数据确认无误 5. 执行导入

支持的格式: - CSV / TSV - JSON - XML - SQL INSERT 语句 - Excel (xlsx) - HTML - Markdown

4. 比较数据库结构

  1. 工具栏 → "Database" → "Compare/Migrate"
  2. 选择源数据库和目标数据库
  3. DBeaver 显示结构差异(新增表、修改列、删除索引等)
  4. 可以生成迁移 SQL

5. 模拟数据生成

  1. 右键表 → "Generate Mock Data"
  2. 为每列选择数据生成策略:
  3. name → 姓名生成器
  4. email → 邮箱生成器
  5. created_at → 日期范围
  6. amount → 数值范围
  7. 设置行数
  8. 执行生成

6. 书签和 SQL 模板

保存常用查询为书签: 1. SQL Editor 中写好查询 2. 右键 → "Save as Template" 3. 下次在 Templates 面板中双击即可插入

SQL 片段:

-- 保存为 "查询表大小" 模板
SELECT 
    relname as table_name,
    pg_size_pretty(pg_total_relation_size(relid)) as total_size
FROM pg_catalog.pg_statio_user_tables
ORDER BY pg_total_relation_size(relid) DESC;

7. 多数据库联合查询(Pro 功能替代方案)

虽然 Community 版不支持跨数据库查询,但可以: 1. 将数据导出为 CSV 2. 创建本地 DuckDB/SQLite 连接 3. 导入多个数据源的数据 4. 在本地执行联合查询

8. 自定义快捷键

常用快捷键:

操作Windows/LinuxmacOS
执行语句Ctrl+EnterCmd+Enter
执行脚本Ctrl+Shift+EnterCmd+Shift+Enter
格式化SQLCtrl+Shift+FCmd+Shift+F
打开SQL编辑器Ctrl+]Cmd+]
补全Ctrl+SpaceCtrl+Space
查看执行计划Ctrl+Shift+ECmd+Shift+E
注释/取消注释Ctrl+/Cmd+/

在 Window → Preferences → General → Keys 中自定义。

9. 连接 MongoDB / Redis

DBeaver Community 也支持 NoSQL:

MongoDB: 1. 新建连接 → 选择 MongoDB 2. 填写连接字符串或分开填写 host/port 3. 可以浏览 Collection、执行查询

Redis: 1. 新建连接 → 选择 Redis 2. 填写 host:port 3. 可以浏览 key、查看值、执行命令


常见问题

Q1: 连接报错 "驱动未找到"

第一次连接某种数据库时,DBeaver 会自动下载驱动。如果下载失败: - 检查网络/代理设置 - 手动下载驱动 JAR 放到 drivers/ 目录 - Database → Driver Manager → 选中驱动 → Edit → 手动添加 JAR

Q2: 中文乱码

  1. 连接属性中设置 characterEncoding=utf8
  2. Window → Preferences → General → Workspace → Text file encoding → UTF-8
  3. SQL Editor 字体选择支持中文的字体

Q3: 如何同时打开多个查询结果

  • SQL Editor 中 Ctrl+Enter 每次执行会在底部新 Tab 打开结果
  • 可以拆分编辑器:右键 Tab → "Split Vertically"

Q4: 大表浏览卡顿

DBeaver 默认分页加载(200行一页),不会一次加载全部数据。如果仍然慢: - 增大 DBeaver 内存:编辑 dbeaver.ini,增加 -Xmx2048m - 使用过滤条件缩小数据范围 - 对大表避免使用 "Count rows" 功能

Q5: 如何备份连接配置

连接信息保存在工作空间目录中: - 导出:File → Export → DBeaver → Project - 导入:File → Import → DBeaver → Project - 或直接备份 ~/.local/share/DBeaverData/ (Linux)

Q6: DBeaver vs DataGrip

维度DBeaver CEDataGrip
价格免费$99/年
数据库支持80+30+
IDE集成独立JetBrains生态
智能补全更好
重构支持有限
内存占用较高

对于日常使用,DBeaver CE 完全够用。如果你重度使用 JetBrains 全家桶且需要更智能的 SQL 重构,DataGrip 值得考虑。


参考资源

资源链接
官方网站https://dbeaver.io
GitHub 仓库https://github.com/dbeaver/dbeaver
文档https://dbeaver.com/docs/dbeaver
下载https://dbeaver.io/download
Wikihttps://github.com/dbeaver/dbeaver/wiki
快捷键参考https://dbeaver.com/docs/dbeaver/Shortcuts

小结: DBeaver 是数据库管理领域的"瑞士军刀"。它不需要你为每种数据库安装不同的 GUI 工具,一个 DBeaver 足以覆盖所有日常操作。免费、开源、跨平台——如果你还在用命令行或 phpMyAdmin 管理数据库,DBeaver 会显著提升你的效率。