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
格式化 SQLCtrl + 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 变更)

数据库对比与同步

「工具」→「比较/同步」→ 选择源数据库和目标数据库:

  1. 比较结构差异(表、列、索引、约束)
  2. 生成迁移 SQL 脚本
  3. 预览后执行

适合将开发库的结构变更同步到测试库,比手写 DDL 更安全。与 Spring Boot 的 数据库迁移 工具(Flyway/Liquibase)配合使用时,可先在 DBeaver 验证结构变更,再编写迁移脚本。


常用功能

查看表结构与 DDL

右键表 →「查看表」:查看列定义、索引、约束、触发器。

右键表 →「生成 SQL」→「DDL」:导出建表语句。

会话管理

「工具」→「会话管理器」:查看当前所有数据库连接和正在执行的 SQL,可强制终止长时间阻塞的查询(相当于 KILL 命令)。

SQL 历史

「窗口」→「SQL 历史」:查看当前连接执行过的所有 SQL 记录,方便回溯操作。

多标签页

一个数据库连接支持打开多个 SQL 编辑器标签页(Ctrl + ] 新建),互相独立,不共享事务。


快捷键汇总

操作快捷键
执行当前 SQLCtrl + Enter
格式化 SQLCtrl + 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 中先调试