DBeaver
DBeaver 是免费开源的通用数据库管理工具(Community Edition),支持 MySQL、PostgreSQL、SQLite、Oracle、SQL Server、MongoDB、Redis 等 100+ 数据库,基于 Eclipse 平台构建,提供 SQL 编辑器、ER 图、数据导入导出等功能。
商业版 Navicat 在 MySQL/PostgreSQL 的使用体验上更精细;DBeaver 的优势在于免费、跨平台、支持的数据库种类更全。
连接数据库
新建连接
「数据库」→「新建数据库连接」→ 选择数据库类型 → 填写连接信息:
| 字段 | 说明 |
|---|---|
| Host | 数据库地址(本地填 localhost) |
| Port | 默认端口(MySQL: 3306,PostgreSQL: 5432) |
| Database | 数据库名 |
| Username / Password | 账号密码 |
| Driver | 首次连接自动下载 JDBC 驱动 |
SSH 隧道连接(线上数据库)
「连接设置」→「SSH」标签:
Host: 跳板机 IP
Port: 22
Username: ubuntu
Auth Method: Public Key(选择 .pem 文件)
勾选「使用 SSH 隧道」后,DBeaver 通过跳板机转发,透明地连接到内网数据库,无需手动 ssh -L 端口转发。
连接分组管理
在「数据库导航」面板中新建文件夹,按环境(开发 / 测试 / 生产)或项目分组,生产环境连接建议标红以防误操作。
SQL 编辑器
基本操作
| 操作 | 快捷键 |
|---|---|
| 执行当前语句 | Ctrl + Enter |
| 执行全部语句 | Ctrl + Alt + Enter |
| 格式化 SQL | Ctrl + Shift + F |
| 代码补全 | Ctrl + Space |
| 注释/取消注释 | Ctrl + / |
| 切换目标数据库 | 编辑器顶部下拉框 |
SQL 模板
「窗口」→「首选项」→「编辑器」→「SQL 编辑器」→「模板」中添加常用片段:
-- 模板名:sel_page,快速生成分页查询骨架
SELECT *
FROM ${table}
WHERE 1=1
LIMIT ${limit} OFFSET ${offset};执行计划(EXPLAIN)
选中 SQL → 右键 →「解释执行计划」,以可视化树状图展示查询计划,快速识别全表扫描和低效索引。
数据浏览与编辑
表数据视图
双击表名打开数据视图:
- 过滤:列头右键 →「过滤」,或在过滤栏输入条件(
name LIKE '张%') - 排序:点击列头
- 编辑单元格:双击单元格直接编辑,修改后点击「保存」(
Ctrl + S)提交 - 批量删除:选中行 →
Delete→ 确认
生产环境操作前务必开启事务,确认无误后再提交。
数据生成(测试数据)
右键表 →「生成假数据」:按列类型智能填充,支持指定行数(如生成 1000 条测试数据)。
数据导入导出
导出
右键表或查询结果 →「导出数据」:
| 格式 | 适用场景 |
|---|---|
| CSV | 数据交换、Excel 分析 |
| SQL(INSERT) | 数据库迁移、备份 |
| XLSX | 直接给业务方 |
| JSON | 前端 Mock 数据 |
导出设置:编码(UTF-8)、列分隔符、是否含表头、NULL 值表示方式。
导入
右键表 →「导入数据」→ 选择 CSV / Excel 文件 → 列映射 → 冲突处理(忽略 / 更新 / 报错)。
ER 图
右键数据库或多张表 →「视图」→「ER 图」:
- 自动识别外键关联,生成关系图
- 支持手动拖拽布局
- 可导出为 PNG / PDF
- 修改 ER 图上的字段后可同步到数据库(DDL 变更)
数据库对比与同步
「工具」→「比较/同步」→ 选择源数据库和目标数据库:
- 比较结构差异(表、列、索引、约束)
- 生成迁移 SQL 脚本
- 预览后执行
适合将开发库的结构变更同步到测试库,比手写 DDL 更安全。与 Spring Boot 的 数据库迁移 工具(Flyway/Liquibase)配合使用时,可先在 DBeaver 验证结构变更,再编写迁移脚本。
常用功能
查看表结构与 DDL
右键表 →「查看表」:查看列定义、索引、约束、触发器。
右键表 →「生成 SQL」→「DDL」:导出建表语句。
会话管理
「工具」→「会话管理器」:查看当前所有数据库连接和正在执行的 SQL,可强制终止长时间阻塞的查询(相当于 KILL 命令)。
SQL 历史
「窗口」→「SQL 历史」:查看当前连接执行过的所有 SQL 记录,方便回溯操作。
多标签页
一个数据库连接支持打开多个 SQL 编辑器标签页(Ctrl + ] 新建),互相独立,不共享事务。
快捷键汇总
| 操作 | 快捷键 |
|---|---|
| 执行当前 SQL | Ctrl + Enter |
| 格式化 SQL | Ctrl + Shift + F |
| 代码补全 | Ctrl + Space |
| 切换大小写 | Ctrl + Shift + U |
| 折叠/展开导航树 | + / - |
| 刷新导航树 | F5 |
| 新建 SQL 编辑器 | Ctrl + ] |
| 查找(编辑器内) | Ctrl + F |
推荐配置
首选项 → 编辑器 → SQL 编辑器:
☑ 自动完成关键字大小写:UPPER
☑ 显示行号
首选项 → 连接 → 客户端应用:
☑ 关闭应用时断开所有连接
首选项 → 数据格式化:
日期格式:yyyy-MM-dd HH:mm:ss(避免时区显示问题)
相关链接
- Navicat — MySQL / PostgreSQL 商业数据库管理工具
- 数据库迁移 — Flyway / Liquibase 结构变更管理
- JPA与Hibernate — ORM 层,DBeaver 可验证生成的 DDL
- MyBatis — 编写 SQL 时可在 DBeaver 中先调试