Navicat for MySQL 详细使用指南:命令行操作与界面操作双视角全解析

一、Navicat for MySQL 简介

Navicat for MySQL 是一款功能强大的图形化数据库管理工具,支持 MySQL 数据库的全方位操作。它兼具直观的可视化界面和灵活的 SQL 命令支持,既能满足新手快速上手的需求,也能适配开发人员的高效运维场景。核心优势包括:支持多连接管理、可视化表设计、SQL 脚本编辑与执行、自动化备份、数据导入导出等,是数据库开发、测试、运维的必备工具。

二、下载与安装

  1. 下载
  • 官方渠道 :访问 Navicat 官网,点击产品,选择 "Navicat for MySQL" 版本,根据操作系统(Windows/Mac/Linux)下载对应安装包(建议选择最新稳定版,如 Navicat 17)。
  • 注意事项:非商业用户可申请试用版,商业用户需购买授权;避免从第三方网站下载,防止恶意软件。
  1. 安装(以 Windows 为例)

  2. 双击安装包,选择安装语言(默认简体中文),点击 "下一步"。

  3. 接受用户协议,选择安装路径(建议默认路径,或自定义非中文无空格路径)。

  4. 勾选 "创建桌面快捷方式",点击 "安装",等待进度条完成。

  5. 安装完成后,点击 "完成" 启动软件,首次打开需激活(试用版直接进入)。

三、基础使用:连接 MySQL 数据库

  1. 界面操作

  2. 启动 Navicat,点击左上角「文件」→「新建连接」→「MySQL」,打开连接配置窗口。

  3. 填写核心参数:

  • 连接名称:自定义(如 "本地 MySQL")。
  • 主机名 / IP:本地数据库填 localhost,远程数据库填服务器 IP。
  • 端口:默认 3306(MySQL 默认端口,若修改过需对应调整)。
  • 用户名 / 密码:MySQL 登录账号(如 root / 自己设置的密码)。

3.点击「测试连接」,提示 "连接成功" 后,点击「确定」保存连接。

4.双击左侧导航栏的连接名称,即可展开该连接下的所有数据库。

  1. 命令行操作(补充)

若需通过命令行验证连接(需先安装 MySQL 客户端):

# 本地连接命令

mysql -u root -p

# 输入密码后,若出现 MySQL 版本信息则连接成功

# 远程连接命令(示例)

mysql -h 192.168.1.100 -u root -p -P 3306

四、建表操作(含数据库创建,每一种操作都从命令行和界面操作两个角度演示,选择其中一种方式即可)

前提:创建数据库

  1. 界面操作

  2. 右键点击已连接的名称→「新建数据库」。

  1. 填写数据库名(如 my_test_db),字符集选择 utf8mb4(支持 emoji 及所有中文),排序规则选 utf8mb4_general_ci,点击「确定」。

  2. 命令行操作

打开 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(创建时间)。

  1. 界面操作创建
  1. 展开 my_test_db→右键「表」→「新建表」,打开表设计窗口。
  2. 按如下配置字段:

|------------|--------------|-----------------------|---------------------------|
| 字段名 | 数据类型 | 约束 | 备注 |
| id | INT | 主键、自动递增 | 勾选 "主键" 和 "自动递增" |
| username | VARCHAR(50) | 非空、唯一 | 勾选 "非空",点击「索引」→「新建」选 "唯一" |
| email | VARCHAR(100) | 非空 | 勾选 "非空" |
| created_at | TIMESTAMP | 默认值 CURRENT_TIMESTAMP | 在 "默认值" 栏选 "当前时间戳" |

点击右下角「保存」,输入表名 users,点击「确定」。

  1. 命令行操作创建

在查询编辑器中(界面上方的单行栏里,点击查询,出现命令行界面,即可输入命令)执行 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;)

  1. 新增数据(INSERT)

界面操作:

  1. 右键 users 表→「打开表」,进入数据编辑界面。
  2. 点击下方「+」号(新增行),填写数据(id 无需手动输入,自动递增):

点击下方「√」号保存,新增成功。

命令行操作:

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;
  1. 修改数据(UPDATE)

界面操作:

  1. 右键 users 表→「打开表」,找到 username 为 lisi 的行。
  1. 双击 email 字段,修改为 lisi_new@example.com
  1. 点击「√」号保存修改。

命令行操作:

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%';
  1. 删除数据(DELETE)

界面操作

  1. 右键 users 表→「打开表」,选中 username 为 wangwu 的行(点击行首复选框)。
  1. 点击下方「-」号(删除行),弹出确认框点击「是」,删除成功。
  1. 若需清空表(保留表结构):右键表→「清空表」。

命令行操作

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. 场景 1:手动完整备份(含结构 + 数据)

界面操作

  1. 右键目标数据库 my_test_db→「备份」→「新建备份」。
  2. 在备份设置窗口:
  • 常规:自定义备份名称(如 my_test_db_20251128)。
  • 选项:勾选「备份结构」和「备份数据」,其他默认。

3.点击「开始」,备份完成后生成 .psc 格式文件(Navicat 专用备份文件),存储路径可在「偏好设置」中修改。

命令行操作(通过 mysqldump)

打开系统终端(需配置 MySQL 环境变量):

# 本地数据库备份(导出结构+数据为 SQL 文件)

mysqldump -u root -p my_test_db > D:/backup/my_test_db_20251128.sql

# 输入密码后执行,备份文件保存到指定路径

  1. 场景 2:仅备份表结构(不含数据)

界面操作

  1. 右键数据库→「转存 SQL 文件」→「仅结构」。
  2. 选择保存路径,命名文件(如 my_test_db_structure.sql),点击「确定」。

命令行操作

mysqldump -u root -p -d my_test_db > D:/backup/my_test_db_structure.sql

# -d 参数表示仅备份结构

  1. 场景 3:自动定时备份(适合生产环境)

界面操作

  1. 点击顶部「计划任务」→「新建批处理作业」。
  2. 在作业窗口:
  • 点击「添加任务」→选择「备份数据库」→选中 my_test_db。
  • 点击「设置计划」,配置执行频率(如每天凌晨 2 点)、执行日期,点击「确定」。
  • 点击「保存」,命名作业(如 my_test_db_auto_backup),完成设置。

命令行操作(通过 MySQL 事件调度器)

  1. 先开启事件调度器:

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 有权限写入该路径。

  1. 场景 4:备份单个表(精准备份)

界面操作

  1. 展开数据库→右键目标表(如 users)→「备份表」→「新建备份」。
  2. 配置备份选项后点击「开始」,生成单个表的 .psc 备份文件。

命令行操作

# 备份 users 表(结构+数据)

mysqldump -u root -p my_test_db users > D:/backup/users_table_backup.sql

七、数据库还原(对应备份方式)

  1. 从 Navicat 专用备份文件(.psc)还原

界面操作

  1. 右键数据库→「还原备份」→选择 .psc 备份文件。

  2. 点击「开始」,等待还原完成(还原过程中避免操作数据库)。

  3. 从 SQL 备份文件还原

界面操作

  1. 右键数据库→「运行 SQL 文件」→选择备份的 .sql 文件。
  2. 勾选「编码」为 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;
  1. 还原单个表

界面操作

  1. 右键表→「运行 SQL 文件」→选择单个表的备份 SQL 文件。
  2. 点击「开始」,若表已存在,需先删除原表或在 SQL 文件中添加 DROP TABLE IF EXISTS users;。

命令行操作

mysql -u root -p my_test_db < D:/backup/users_table_backup.sql

八、Navicat 其他关键功能

  1. SQL 查询编辑器
  • 功能:支持语法高亮、自动补全、格式化 SQL、执行计划分析。
  • 操作:右键数据库→「新建查询」,编写 SQL 后点击「运行」(绿色三角形图标),结果实时显示。
  • 实用技巧:选中部分 SQL 可「执行选定部分」,避免全量执行;点击「解释」可查看 SQL 执行效率。
  1. 数据导入 / 导出
  • 支持格式:CSV、Excel、JSON、XML 等。
  • 界面操作:右键表→「导入向导」/「导出向导」,按提示选择文件格式、字段映射,完成数据迁移。
  1. 表结构同步
  • 场景:本地表结构修改后,同步到测试 / 生产环境数据库。
  • 操作:工具→结构同步→选择源数据库和目标数据库→对比差异→勾选需同步的项→点击「运行」。
  1. 事务管理
  • 界面操作:查询编辑器中,点击「事务」→「开始事务」,执行 SQL 后点击「提交」或「回滚」。
  • 命令行操作:

START TRANSACTION; -- 开始事务

UPDATE users SET email = 'test@example.com' WHERE id = 1;

COMMIT; -- 提交事务(生效)/ ROLLBACK;(回滚,取消操作)

  1. 索引管理
  • 界面操作:右键表→「设计表」→「索引」→「新建」,可创建普通索引、唯一索引、联合索引。
  • 命令行操作:

-- 给 email 字段创建普通索引

CREATE INDEX idx_users_email ON users(email);

-- 给 username 和 email 创建联合索引

CREATE INDEX idx_users_name_email ON users(username, email);

  1. 用户权限管理
  • 功能:创建 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;

相关推荐
u***32431 小时前
Mysql官网下载Windows、Linux各个版本
linux·数据库·mysql
i***39581 小时前
mysql之如何获知版本
数据库·mysql
r***01381 小时前
MySQL最多能有多少连接
数据库·mysql
七烦2 小时前
金仓KingbaseES数据库安装至Linux系统
数据库·mysql·kingbasees
r***R2892 小时前
MySQL的日期时间类型
数据库·mysql
vx_vxbs662 小时前
【SSM高校普法系统】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
android·java·python·mysql·小程序·php·idea
AI_56782 小时前
AI知识库如何重塑服务体验
大数据·人工智能
Java陈序员2 小时前
精致简约!一款优雅的开源云盘系统!
mysql·docker·开源·go·云盘
p***97612 小时前
完美解决phpstudy安装后mysql无法启动
数据库·mysql