一、Navicat for MySQL 简介
Navicat for MySQL 是一款功能强大的图形化数据库管理工具,支持 MySQL 数据库的全方位操作。它兼具直观的可视化界面和灵活的 SQL 命令支持,既能满足新手快速上手的需求,也能适配开发人员的高效运维场景。核心优势包括:支持多连接管理、可视化表设计、SQL 脚本编辑与执行、自动化备份、数据导入导出等,是数据库开发、测试、运维的必备工具。
二、下载与安装
- 下载
- 官方渠道 :访问 Navicat 官网,点击产品,选择 "Navicat for MySQL" 版本,根据操作系统(Windows/Mac/Linux)下载对应安装包(建议选择最新稳定版,如 Navicat 17)。
- 注意事项:非商业用户可申请试用版,商业用户需购买授权;避免从第三方网站下载,防止恶意软件。


-
安装(以 Windows 为例)
-
双击安装包,选择安装语言(默认简体中文),点击 "下一步"。
-
接受用户协议,选择安装路径(建议默认路径,或自定义非中文无空格路径)。
-
勾选 "创建桌面快捷方式",点击 "安装",等待进度条完成。
-
安装完成后,点击 "完成" 启动软件,首次打开需激活(试用版直接进入)。
三、基础使用:连接 MySQL 数据库
-
界面操作
-
启动 Navicat,点击左上角「文件」→「新建连接」→「MySQL」,打开连接配置窗口。
-
填写核心参数:
(
- 连接名称:自定义(如 "本地 MySQL")。
- 主机名 / IP:本地数据库填 localhost,远程数据库填服务器 IP。
- 端口:默认 3306(MySQL 默认端口,若修改过需对应调整)。
- 用户名 / 密码:MySQL 登录账号(如 root / 自己设置的密码)。
)
3.点击「测试连接」,提示 "连接成功" 后,点击「确定」保存连接。
4.双击左侧导航栏的连接名称,即可展开该连接下的所有数据库。
- 命令行操作(补充)
若需通过命令行验证连接(需先安装 MySQL 客户端):
# 本地连接命令
mysql -u root -p
# 输入密码后,若出现 MySQL 版本信息则连接成功
# 远程连接命令(示例)
mysql -h 192.168.1.100 -u root -p -P 3306
四、建表操作(含数据库创建,每一种操作都从命令行和界面操作两个角度演示,选择其中一种方式即可)
前提:创建数据库
-
界面操作
-
右键点击已连接的名称→「新建数据库」。
-
填写数据库名(如 my_test_db),字符集选择 utf8mb4(支持 emoji 及所有中文),排序规则选 utf8mb4_general_ci,点击「确定」。
-
命令行操作
打开 Navicat 内置查询编辑器(右键数据库→「新建查询」),执行 SQL:
-- 创建数据库(若不存在则创建)
CREATE DATABASE IF NOT EXISTS my_test_db
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
-- 切换到目标数据库
USE my_test_db;
核心:创建数据表
以创建 users 表(存储用户信息)为例,包含字段:id(主键自增)、username(用户名)、email(邮箱)、created_at(创建时间)。
- 界面操作创建

- 展开 my_test_db→右键「表」→「新建表」,打开表设计窗口。
- 按如下配置字段:
|------------|--------------|-----------------------|---------------------------|
| 字段名 | 数据类型 | 约束 | 备注 |
| id | INT | 主键、自动递增 | 勾选 "主键" 和 "自动递增" |
| username | VARCHAR(50) | 非空、唯一 | 勾选 "非空",点击「索引」→「新建」选 "唯一" |
| email | VARCHAR(100) | 非空 | 勾选 "非空" |
| created_at | TIMESTAMP | 默认值 CURRENT_TIMESTAMP | 在 "默认值" 栏选 "当前时间戳" |
点击右下角「保存」,输入表名 users,点击「确定」。
- 命令行操作创建

在查询编辑器中(界面上方的单行栏里,点击查询,出现命令行界面,即可输入命令)执行 SQL:
sql
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
email VARCHAR(100) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 查看表结构(验证创建结果)
DESCRIBE users;
五、数据增删改操作(命令 + 界面双视角)
前提:确保已切换到 my_test_db 数据库(USE my_test_db;)
- 新增数据(INSERT)
界面操作:
- 右键 users 表→「打开表」,进入数据编辑界面。
- 点击下方「+」号(新增行),填写数据(id 无需手动输入,自动递增):
- username:zhangsan
- email:zhangsan@example.com
点击下方「√」号保存,新增成功。
命令行操作:
sql
-- 单行插入
INSERT INTO users (username, email)
VALUES ('zhangsan', 'zhangsan@example.com');
-- 批量插入(高效)
INSERT INTO users (username, email)
VALUES
('lisi', 'lisi@example.com'),
('wangwu', 'wangwu@example.com');
-- 验证结果
SELECT * FROM users;
- 修改数据(UPDATE)
界面操作:
- 右键 users 表→「打开表」,找到 username 为 lisi 的行。
- 双击 email 字段,修改为 lisi_new@example.com。
- 点击「√」号保存修改。
命令行操作:
sql
-- 修改单条数据(必须加 WHERE 条件,否则更新全表!)
UPDATE users
SET email = 'lisi_new@example.com'
WHERE username = 'lisi';
-- 批量修改(示例:所有 2025 年前创建的用户添加后缀 _2025)
UPDATE users
SET username = CONCAT(username, '_2025')
WHERE created_at < '2025-01-01';
-- 验证结果
SELECT username, email FROM users WHERE username LIKE '%lisi%';
- 删除数据(DELETE)
界面操作
- 右键 users 表→「打开表」,选中 username 为 wangwu 的行(点击行首复选框)。
- 点击下方「-」号(删除行),弹出确认框点击「是」,删除成功。
- 若需清空表(保留表结构):右键表→「清空表」。
命令行操作
sql
-- 删除单条数据(加 WHERE 条件,安全删除)
DELETE FROM users
WHERE username = 'wangwu';
-- 批量删除(示例:删除邮箱为 example.com 后缀的用户)
DELETE FROM users
WHERE email LIKE '%@example.com'
LIMIT 10; -- 限制删除行数,避免误删过多
-- 清空表(保留表结构,自增ID重置)
TRUNCATE TABLE users; -- 比 DELETE FROM users 效率更高
-- 验证结果
SELECT * FROM users;
六、数据库备份(多种场景全覆盖)
Navicat 支持手动备份、自动备份、SQL 导出等多种方式,适配不同需求:
- 场景 1:手动完整备份(含结构 + 数据)
界面操作
- 右键目标数据库 my_test_db→「备份」→「新建备份」。
- 在备份设置窗口:
- 常规:自定义备份名称(如 my_test_db_20251128)。
- 选项:勾选「备份结构」和「备份数据」,其他默认。
3.点击「开始」,备份完成后生成 .psc 格式文件(Navicat 专用备份文件),存储路径可在「偏好设置」中修改。
命令行操作(通过 mysqldump)
打开系统终端(需配置 MySQL 环境变量):
# 本地数据库备份(导出结构+数据为 SQL 文件)
mysqldump -u root -p my_test_db > D:/backup/my_test_db_20251128.sql
# 输入密码后执行,备份文件保存到指定路径
- 场景 2:仅备份表结构(不含数据)
界面操作
- 右键数据库→「转存 SQL 文件」→「仅结构」。
- 选择保存路径,命名文件(如 my_test_db_structure.sql),点击「确定」。
命令行操作
mysqldump -u root -p -d my_test_db > D:/backup/my_test_db_structure.sql
# -d 参数表示仅备份结构
- 场景 3:自动定时备份(适合生产环境)
界面操作
- 点击顶部「计划任务」→「新建批处理作业」。
- 在作业窗口:
- 点击「添加任务」→选择「备份数据库」→选中 my_test_db。
- 点击「设置计划」,配置执行频率(如每天凌晨 2 点)、执行日期,点击「确定」。
- 点击「保存」,命名作业(如 my_test_db_auto_backup),完成设置。
命令行操作(通过 MySQL 事件调度器)
- 先开启事件调度器:
SET GLOBAL event_scheduler = ON;
-- 验证是否开启:SHOW VARIABLES LIKE 'event_scheduler';
2.创建定时备份事件(每天凌晨 2 点执行):
sql
CREATE EVENT auto_backup_my_test_db
ON SCHEDULE EVERY 1 DAY STARTS '2025-01-01 02:00:00'
DO
BEGIN
SET @backup_path = 'D:/backup/';
SET @backup_file = CONCAT(@backup_path, 'my_test_db_', DATE_FORMAT(NOW(), '%Y%m%d'), '.sql');
SET @cmd = CONCAT('mysqldump -u root -p123456 my_test_db > ', @backup_file);
PREPARE stmt FROM @cmd;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END;
注意:需替换密码(-p123456)和备份路径,且确保 MySQL 有权限写入该路径。
- 场景 4:备份单个表(精准备份)
界面操作
- 展开数据库→右键目标表(如 users)→「备份表」→「新建备份」。
- 配置备份选项后点击「开始」,生成单个表的 .psc 备份文件。
命令行操作
# 备份 users 表(结构+数据)
mysqldump -u root -p my_test_db users > D:/backup/users_table_backup.sql
七、数据库还原(对应备份方式)
- 从 Navicat 专用备份文件(.psc)还原
界面操作
-
右键数据库→「还原备份」→选择 .psc 备份文件。
-
点击「开始」,等待还原完成(还原过程中避免操作数据库)。
-
从 SQL 备份文件还原
界面操作
- 右键数据库→「运行 SQL 文件」→选择备份的 .sql 文件。
- 勾选「编码」为 utf8mb4,点击「开始」,完成还原。
命令行操作
sql
# 方式1:终端直接执行
mysql -u root -p my_test_db < D:/backup/my_test_db_20251128.sql
# 方式2:Navicat 查询编辑器执行
SOURCE D:/backup/my_test_db_20251128.sql;
- 还原单个表
界面操作
- 右键表→「运行 SQL 文件」→选择单个表的备份 SQL 文件。
- 点击「开始」,若表已存在,需先删除原表或在 SQL 文件中添加 DROP TABLE IF EXISTS users;。
命令行操作
mysql -u root -p my_test_db < D:/backup/users_table_backup.sql
八、Navicat 其他关键功能
- SQL 查询编辑器
- 功能:支持语法高亮、自动补全、格式化 SQL、执行计划分析。
- 操作:右键数据库→「新建查询」,编写 SQL 后点击「运行」(绿色三角形图标),结果实时显示。
- 实用技巧:选中部分 SQL 可「执行选定部分」,避免全量执行;点击「解释」可查看 SQL 执行效率。
- 数据导入 / 导出
- 支持格式:CSV、Excel、JSON、XML 等。
- 界面操作:右键表→「导入向导」/「导出向导」,按提示选择文件格式、字段映射,完成数据迁移。
- 表结构同步
- 场景:本地表结构修改后,同步到测试 / 生产环境数据库。
- 操作:工具→结构同步→选择源数据库和目标数据库→对比差异→勾选需同步的项→点击「运行」。
- 事务管理
- 界面操作:查询编辑器中,点击「事务」→「开始事务」,执行 SQL 后点击「提交」或「回滚」。
- 命令行操作:
START TRANSACTION; -- 开始事务
UPDATE users SET email = 'test@example.com' WHERE id = 1;
COMMIT; -- 提交事务(生效)/ ROLLBACK;(回滚,取消操作)
- 索引管理
- 界面操作:右键表→「设计表」→「索引」→「新建」,可创建普通索引、唯一索引、联合索引。
- 命令行操作:
-- 给 email 字段创建普通索引
CREATE INDEX idx_users_email ON users(email);
-- 给 username 和 email 创建联合索引
CREATE INDEX idx_users_name_email ON users(username, email);
- 用户权限管理
- 功能:创建 MySQL 新用户,分配数据库 / 表级权限(如查询、插入、删除权限)。
- 界面操作:点击「用户」→「新建用户」,填写用户名、主机、密码,切换到「权限」选项卡,勾选对应权限,点击「保存」。
- 命令行操作:
-- 创建新用户
CREATE USER 'new_user'@'localhost' IDENTIFIED BY '123456';
-- 分配 my_test_db 数据库的查询和插入权限
GRANT SELECT, INSERT ON my_test_db.* TO 'new_user'@'localhost';
-- 刷新权限
FLUSH PRIVILEGES;