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
格式化 SQLCtrl + Shift + F
代码补全Ctrl + Space
注释/取消注释行Ctrl + /
新建查询标签页Ctrl + T

代码补全

Navicat 支持表名、列名、函数、关键字补全,输入表名后按 . 自动列出列名。首次连接需「刷新」对象列表才能补全。

历史记录

「视图」→「历史日志」:查看当前连接执行过的所有 SQL 历史,支持搜索和重新执行。

查询结果编辑

查询结果可直接在网格中编辑、新增、删除行,点击「√」提交或「×」取消。批量操作时建议先开启事务(BEGIN),确认后再 COMMIT


表设计器

双击表名 →「设计表」:图形化管理表结构。

  • 字段:增删改列,设置类型、长度、默认值、注释
  • 索引:创建普通索引 / 唯一索引 / 全文索引
  • 外键:配置关联表和级联规则(CASCADE / SET NULL)
  • 触发器:编写并管理触发器
  • DDL 预览:实时查看操作对应的 DDL 语句,修改前可复制保存

数据传输与同步

数据传输

「工具」→「数据传输」:跨连接迁移数据(同库类型或跨库类型均可):

  1. 源:选择连接 / 数据库 / 表
  2. 目标:选择目标连接(可以是不同服务器、不同数据库类型)
  3. 选项:是否传输结构、是否清空目标表、冲突处理方式
  4. 执行:生成 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
格式化 SQLCtrl + 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 中先调试