Navicat
Navicat 是商业数据库管理工具,提供 Navicat Premium(支持 MySQL、PostgreSQL、SQLite、Oracle、SQL Server、MongoDB 等多种数据库)以及各数据库的单品版本。以精细的 GUI 操作、连接管理、数据同步和报表功能见长。
免费替代方案见 DBeaver。
连接管理
新建连接
「连接」→ 选择数据库类型 → 填写连接信息:
| 字段 | 说明 |
|---|---|
| 连接名 | 自定义显示名称(建议标注环境,如 prod-mysql) |
| 主机 | IP 地址或域名 |
| 端口 | MySQL 默认 3306,PostgreSQL 默认 5432 |
| 用户名 / 密码 | 数据库账号 |
| 数据库 | 可选,限定初始数据库 |
SSH 隧道(访问内网数据库)
「连接属性」→「SSH」标签:
主机:跳板机 IP
端口:22
用户名:ubuntu
验证方式:公钥(选择 .pem 文件)
开启后 Navicat 自动建立 SSH 隧道,透明转发到内网数据库,无需手动端口转发。
连接分组与颜色
右键连接 →「颜色」:为不同环境设置标签颜色(红色 = 生产,黄色 = 测试,绿色 = 开发),防止误操作。
将连接拖入「连接组」可按项目或团队归类管理。
查询编辑器
基本操作
| 操作 | 快捷键 |
|---|---|
| 执行全部 / 选中语句 | Ctrl + R |
| 停止执行 | Ctrl + Q |
| 格式化 SQL | Ctrl + Shift + F |
| 代码补全 | Ctrl + Space |
| 注释/取消注释行 | Ctrl + / |
| 新建查询标签页 | Ctrl + T |
代码补全
Navicat 支持表名、列名、函数、关键字补全,输入表名后按 . 自动列出列名。首次连接需「刷新」对象列表才能补全。
历史记录
「视图」→「历史日志」:查看当前连接执行过的所有 SQL 历史,支持搜索和重新执行。
查询结果编辑
查询结果可直接在网格中编辑、新增、删除行,点击「√」提交或「×」取消。批量操作时建议先开启事务(BEGIN),确认后再 COMMIT。
表设计器
双击表名 →「设计表」:图形化管理表结构。
- 字段:增删改列,设置类型、长度、默认值、注释
- 索引:创建普通索引 / 唯一索引 / 全文索引
- 外键:配置关联表和级联规则(CASCADE / SET NULL)
- 触发器:编写并管理触发器
- DDL 预览:实时查看操作对应的 DDL 语句,修改前可复制保存
数据传输与同步
数据传输
「工具」→「数据传输」:跨连接迁移数据(同库类型或跨库类型均可):
- 源:选择连接 / 数据库 / 表
- 目标:选择目标连接(可以是不同服务器、不同数据库类型)
- 选项:是否传输结构、是否清空目标表、冲突处理方式
- 执行:生成 SQL 预览后运行
结构同步
「工具」→「结构同步」:对比两个数据库的表结构差异,生成 ALTER 语句同步。
适合将开发库变更同步到测试库,比手写 DDL 更可靠。结合 Spring Boot 数据库迁移(Flyway / Liquibase)工作流时,可先在 Navicat 验证结构,再将 DDL 写入迁移脚本。
数据同步
「工具」→「数据同步」:比较并同步两库的行级数据差异(逐行对比,适合小表;大表建议用 mysqldump / pg_dump)。
导入 / 导出
导出
右键表或查询结果 →「导出向导」:
| 格式 | 适用场景 |
|---|---|
| SQL | 数据库备份、迁移 |
| CSV | 数据分析、Excel 处理 |
| Excel | 直接交付给业务方 |
| JSON | 接口 Mock 数据 |
| XML | 数据交换 |
高级选项:字段分隔符、NULL 值处理、是否包含列头、批量大小。
导入
右键表 →「导入向导」→ 选择 CSV / Excel 文件 → 字段映射 → 冲突策略(插入 / 替换 / 跳过)→ 执行。
ER 图
右键数据库 →「逆向数据库到模型」:自动根据外键关系生成 ER 图。
- 支持手动拖拽布局和添加注释
- 可以在 ER 图上直接设计表结构,然后「正向工程」生成 DDL
- 导出为图片或 PDF
计划任务(定时备份)
「工具」→「计划」:设置定时执行的任务:
任务类型:备份
连接:prod-mysql
数据库:myapp
保存路径:D:\backups\myapp_${date}.nb3
执行时间:每天 02:00
支持备份、数据传输、查询执行等任务类型,备份文件为 Navicat 私有格式(.nb3),恢复时通过「恢复」功能还原。
快捷键汇总
| 操作 | 快捷键 |
|---|---|
| 新建查询 | Ctrl + T |
| 执行查询 | Ctrl + R |
| 格式化 SQL | Ctrl + Shift + F |
| 代码补全 | Ctrl + Space |
| 刷新对象列表 | F5 |
| 打开设计表 | Ctrl + D |
| 复制表数据 | Ctrl + C |
| 查找/替换 | Ctrl + F / Ctrl + H |
推荐设置
首选项 → 编辑器:
☑ 自动完成:启用
关键字大小写:大写
首选项 → 查询:
☑ 结果集中显示行号
最大行数:10000(避免大表拉爆内存)
首选项 → 连接:
☑ 保持连接间隔:240 秒(防止连接超时断开)
相关链接
- DBeaver — 免费开源的通用数据库管理工具
- 数据库迁移 — Flyway / Liquibase 结构变更管理
- JPA与Hibernate — ORM 层,Navicat 可验证 DDL
- MyBatis — 编写 SQL 时可在 Navicat 中先调试