Navicat 初级应用完整教程:从连接数据库到数据导出
📚 一、功能解析:Navicat 是什么?能做什么?
1.1 什么是 Navicat?
Navicat 是一款强大的数据库管理和开发工具,支持 MySQL、PostgreSQL、Oracle、SQL Server 等多种数据库。
本案使用的是 Navicat Premium(多数据库通用版),
连接的是本地 MySQL 数据库 ama_local。
1.2 核心功能模块

| 功能区 | 图标/位置 | 作用 |
|---|---|---|
| 连接管理 | 左侧"我的连接"树形结构 | 管理多个数据库连接(如 ama_local, localhost 等) |
| 表操作 | "表"标签页 + 工具栏"表"按钮 | 创建、查看、编辑数据表结构 |
| 查询编写 | "新建查询"按钮 | 编写和执行 SQL 语句 |
| 数据导出 | 右键表 → "转储 SQL 文件" | 导出表结构或数据为 .sql 文件(如你的 demo.sql) |
| 备份还原 | "备份"按钮 | 定期备份整个数据库 |
| 模型设计 | "模型"按钮 | 可视化设计 ER 图、表关系 |
🛠️ 二、案例操作步骤:以学生表为例的完整工作流
以截图中的 student 表为例,演示从创建连接到导出的全流程。
步骤 1:建立数据库连接
- 点击左上角 "连接" 按钮(闪电图标)
- 选择 MySQL
- 填写连接信息:
- 连接名称:
ama_local - 主机:
127.0.0.1 - 端口:
3306 - 用户名:
root - 密码:输入你的密码
- 连接名称:
- 点击 "测试连接" → 成功后点击 "确定"

✅ 提示:如果报错 1045,请检查密码是否正确
步骤 2:创建数据库和表
2.1 创建数据库
- 右键
ama_local连接 → "新建数据库" - 输入数据库名:
demo - 字符集选择:
utf8mb4(推荐) - 点击 "确定"
2.2 创建 student 表
- 展开
demo数据库 → 右键 "表" → "新建表" - 在"设计表"界面添加字段:
| 字段名 | 类型 | 长度 | 允许 NULL | 注释 |
|---|---|---|---|---|
| id | int | - | ❌ 否 | 主键,自增 |
| number | varchar | 50 | ✅ 是 | 学号 |
| name | varchar | 50 | ✅ 是 | 姓名 |
| gender | varchar | 6 | ✅ 是 | 性别 |
| createDt | datetime | - | ✅ 是 | 创建日期 |
- 设置主键:选中
id行 → 勾选 "主键" 和 "自动递增" - 点击 "保存" → 输入表名
student
⌨️ 快捷键技巧:
- 插入字段上方:
Insert- 插入字段下方:⬇️
- 删除字段:
Delete- 保存:
Ctrl+S

步骤 3:插入测试数据
方法一:图形化界面插入
-
双击打开
student表 → 进入"数据"视图 -
直接在空白行输入数据:
number: 2026021701 name: A gender: F createDt: 2026-02-17 23:02:43 -
按
Enter自动保存
方法二:SQL 语句插入
-
点击 "新建查询"
-
输入 SQL:
INSERT INTO student (number, name, gender, createDt) VALUES ('2026021702', 'B', 'F', '2026-02-17 23:03:16'); -
点击 "运行" 按钮(绿色三角形)
步骤 4:导出数据为 SQL 文件(如 demo.sql)
- 右键
student表 → "转储 SQL 文件" - 选择:
- ✅ 结构和数据(同时导出建表语句和 INSERT 语句)
- 编码:
UTF-8 - 目标文件:选择保存路径(如
demo.sql)
- 点击 "开始" → 生成成功!

📄
demo.sql包含:
- 建表语句(CREATE TABLE)
- 插入数据语句(INSERT INTO)
- 字符集设置(SET NAMES utf8mb4)

截图是 Navicat Premium 导出的 SQL 转储文件(demo.sql),我们用红框标出了三个关键区域:
- 📄 文件头信息块(包含服务器、版本、主机等元数据)
- ️ 表结构注释 (
-- Table structure for student)- 📥 数据记录注释 (
-- Records of student)
1️⃣ 文件头信息块(红色框1)
包含的信息:
ama_local→ 连接名称(自定义,非真实服务器名)MySQL 9.6.0→ 数据库版本(公开信息)127.0.0.1:3306→ 本地回环地址 + 默认端口(说明是本地开发环境)demo→ 数据库名(通常是测试库)- 时间戳 → 导出时间
2️⃣ 表结构部分(红色框2)
包含的信息:
- 表名:
student- 字段名及类型:
id,number,name,gender,createDt- 注释:中文说明字段用途
3️⃣ 数据记录部分(红色框3)
包含的信息:
- 学号:
2026021701~2026021705- 姓名:
A,B,C,D,E(- 性别:
F/M- 创建时间:时间
步骤 5:导入 SQL 文件到其他环境

- 在新数据库中右键 → "运行 SQL 文件"(如果不在数据库运行,就会自动保存到sys或其他的系统表中)
- 选择之前导出的
demo.sql - 点击 "开始" → 自动执行所有语句
💡 应用场景:迁移数据、部署项目、团队协作共享数据结构
🧩 三、知识扩展:进阶技巧与最佳实践
3.1 常用快捷键速查表
| 操作 | 快捷键 | 说明 |
|---|---|---|
| 新建查询 | Ctrl+Q |
快速打开查询窗口 |
| 执行查询 | Ctrl+R |
运行当前 SQL 语句 |
| 格式化 SQL | Ctrl+Shift+F |
美化缩进,提高可读性 |
| 刷新对象 | F5 |
更新左侧树形结构 |
| 查找替换 | Ctrl+F / Ctrl+H |
在查询编辑器中搜索 |
| 撤销/重做 | Ctrl+Z / Ctrl+Y |
修改表结构时可撤销 |
3.2 表设计最佳实践
命名规范
- 表名:小写 + 下划线,如
user_info,order_detail - 字段名:语义化,如
created_at,user_id,is_active - 避免保留字:不要用
order,group,select作表名
数据类型选择
| 需求 | 推荐类型 | 说明 |
|---|---|---|
| 整数 ID | INT AUTO_INCREMENT |
主键首选 |
| 短文本 | VARCHAR(50) |
姓名、邮箱等 |
| 长文本 | TEXT |
文章内容、描述 |
| 时间戳 | DATETIME 或 TIMESTAMP |
记录创建/更新时间 |
| 布尔值 | TINYINT(1) |
0=否,1=是 |
索引优化
- 主键自动创建聚簇索引
- 频繁查询的字段(如
user_id,status)可手动添加索引 - 右键表 → "索引" → "新建索引"
3.3 安全与性能建议
权限控制
-
不要始终用
root用户操作生产库 -
创建专用用户并限制权限:
CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'strong_password'; GRANT SELECT, INSERT, UPDATE ON demo.* TO 'app_user'@'localhost';
备份策略
- 定期使用"备份"功能导出
.nb3文件(Navicat 专有格式) - 结合"自动运行"设置定时任务
性能监控
- 使用"服务器监控"查看 CPU、内存、连接数
- 慢查询日志定位瓶颈 SQL
🎯 四、实战练习:巩固所学知识
练习 1:创建图书管理系统表
-- 创建 books 表
CREATE TABLE books (
id INT NOT NULL AUTO_INCREMENT,
title VARCHAR(100) NOT NULL COMMENT '书名',
author VARCHAR(50) COMMENT '作者',
price DECIMAL(10,2) COMMENT '价格',
published_date DATE COMMENT '出版日期',
is_available TINYINT(1) DEFAULT 1 COMMENT '是否可借',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 插入测试数据
INSERT INTO books (title, author, price, published_date)
VALUES ('Python编程入门', '张三', 59.90, '2025-01-15');
练习 2:导出并重新导入
- 将
books表导出为books_backup.sql - 删除原表
- 重新导入
books_backup.sql - 验证数据完整性
📈 五、常见问题解答(FAQ)
Q1: 为什么导出 SQL 时出现中文乱码?
✅ 解决:确保导出时选择 UTF-8 编码,且数据库字符集为 utf8mb4
Q2: 如何批量修改多个字段?
✅ 解决:在"设计表"界面按住 Ctrl 多选字段 → 右键统一修改属性
Q3: 能否比较两个表结构差异?
✅ 解决:使用"工具"→"结构同步"功能对比不同数据库的表
Q4: 如何在 Navicat 中调试存储过程?
✅ 解决:切换到"函数"标签页 → 右键存储过程 → "调试"
🏁 六、总结与下一步学习方向
你已经掌握了:
✅ 数据库连接与管理
✅ 表的创建、修改、删除
✅ 数据的增删改查(CRUD)
✅ SQL 文件的导出与导入
✅ 基本快捷键与操作技巧
下一步可以学习:
🔹 复杂查询(JOIN, GROUP BY, 子查询)
🔹 视图、触发器、存储过程
🔹 事务管理与锁机制
🔹 数据库优化与索引调优
🔹 Navicat 高级功能(模型设计、数据同步、报表生成)