MySQL Workbench 超详细教程
第一部分:入门篇 - 认识与连接
什么是 MySQL Workbench?
MySQL Workbench 是一款由 MySQL 官方提供的统一的可视化数据库设计、管理和开发工具,你可以把它想象成数据库的“超级瑞士军刀”,它集成了以下核心功能:

- SQL 开发: 编写、执行和管理 SQL 脚本。
- 数据建模: 设计、创建和管理数据库结构(ER图)。
- 服务器管理: 配置服务器实例,管理用户和权限。
- 数据迁移: 从其他数据库系统迁移数据到 MySQL。
本教程将重点讲解最常用的 SQL 开发 和 数据建模 功能。
下载与安装
- 访问 MySQL 官方下载页面:https://dev.mysql.com/downloads/workbench/
- 选择与你操作系统匹配的版本(Windows, macOS, Linux)。
- 下载并按照安装向导完成安装。
第一次连接 MySQL 服务器
安装完成后,打开 MySQL Workbench,你会看到主界面,这里可以管理你的数据库连接。
步骤:
-
点击 "+" 号:在 "MySQL Connections" 面板中,点击 "Local instance MySQL80"(或你看到的类似名称)旁边的 "+" 号来添加一个新的连接。
(图片来源网络,侵删) -
填写连接信息:
- Connection Name: 给这个连接起一个你喜欢的名字,"My Local MySQL"。
- Hostname: 通常为
localhost或0.0.1,表示连接你本机的数据库。 - Port: MySQL 默认端口是
3306,保持默认即可。 - Username: 输入你的 MySQL 用户名,如果是首次安装,通常是
root。 - Password: 点击 "Store in Vault..." 输入
root用户的密码并保存。 - Default Schema: 可选,你可以设置一个默认打开的数据库。
-
测试并连接:点击 "Test Connection" 按钮,如果配置正确,会弹出窗口提示 "Successfully made the connection!",然后点击 "OK",再点击 "Finish"。
-
成功连接:双击你刚刚创建的连接,Workbench 会尝试连接服务器,如果成功,你将看到主界面分为左右两个面板:
- 左侧 (Navigator): 显示服务器状态、可用的数据库、表、视图、存储过程等。
- 右侧 (SQL Editor): 这是编写和执行 SQL 代码的地方。
第二部分:核心功能 - SQL 开发
这是日常使用最频繁的功能。

创建和删除数据库
在 SQL Editor 中,你可以像在任何代码编辑器中一样编写 SQL 语句。
-
创建数据库:
CREATE DATABASE my_app_db;
执行后,在左侧的 Navigator -> Schemas 下刷新,就能看到
my_app_db了。 -
删除数据库:
DROP DATABASE my_app_db;
警告:
DROP操作会永久删除数据库及其所有数据,请谨慎使用!
使用数据库
在对数据库进行任何操作前,你必须先“进入”它。
USE my_app_db;
执行后,下方状态栏会显示 Current schema: my_app_db。
创建和管理表
让我们为 my_app_db 创建一个用户表。
-
创建表:
CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL UNIQUE, email VARCHAR(100) NOT NULL UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );INT AUTO_INCREMENT: 自动递增的整数,通常用作主键。VARCHAR(50): 可变长度的字符串。NOT NULL: 该字段不能为空。UNIQUE: 该字段的值必须唯一。TIMESTAMP DEFAULT CURRENT_TIMESTAMP: 创建记录时自动设置为当前时间。
-
查看表结构:
DESCRIBE users;
或者使用简写:
DESC users;
-
删除表:
DROP TABLE users;
警告: 同样,
DROP会永久删除表及其所有数据!
数据操作 - CRUD
-
Create (插入数据):
INSERT INTO users (username, email) VALUES ('alice', 'alice@example.com'); INSERT INTO users (username, email) VALUES ('bob', 'bob@example.com'); -
Read (查询数据):
-- 查询所有用户 SELECT * FROM users; -- 查询特定列 SELECT username, email FROM users; -- 带条件的查询 SELECT * FROM users WHERE username = 'alice';
-
Update (更新数据):
UPDATE users SET email = 'alice_new@example.com' WHERE username = 'alice';
-
Delete (删除数据):
DELETE FROM users WHERE username = 'bob';
SQL 脚本的执行与管理
- 执行单条语句: 将光标放在 SQL 语句的任意位置,然后点击左上角的 闪电图标 (Execute)。
- 执行脚本: 如果你有多条语句,可以全部选中,然后点击 Execute,Workbench 会按顺序执行它们。
- 清空结果: 执行脚本后,结果会显示在下方,点击结果面板上方的 垃圾桶图标 可以清空结果集。
- 创建新查询标签: 点击 SQL Editor 工具栏上的 图标,可以打开一个新的查询标签页,方便你同时进行不同的操作。
第三部分:进阶功能 - 数据建模
数据建模功能允许你通过图形化的方式设计数据库结构,并可以自动生成建表 SQL。
创建新 EER 图
- 在 MySQL Workbench 主界面,点击
Database->Reverse Engineer...(逆向工程) 或者Model->Add Diagram(新建图表)。 - 选择
Create EER Model from Database...来连接一个现有数据库并生成模型,或者直接选择Create New EER Model from Scratch从零开始设计。 - Workbench 会打开一个新的编辑窗口,左侧是工具箱,中间是画布。
设计数据库结构
从左侧的 "Physical Schemas" 面板,拖拽你想要设计的数据库(my_app_db)到中间的画布上。
-
创建表: 从左侧工具箱的 "Tables" 部分,拖拽一个
Table图标到画布上,然后双击它。 -
编辑表结构: 在弹出的窗口中,你可以:
- Columns: 添加、修改、删除字段,设置数据类型、主键、外键、索引等。
- Indexes: 创建索引。
- Foreign Keys: 创建外键关系。
-
创建关系(外键):
- 在工具箱中,点击 "Relationships" (带钥匙的图标)。
- 点击一个表的主键(
users.id),然后拖动鼠标到另一个表想要作为外键的字段上(orders.user_id)。 - 松开鼠标,会弹出一个外键关系编辑窗口,你可以设置
ON DELETE和ON UPDATE的行为(如CASCADE,SET NULL等)。 - 点击 "Apply" 和 "OK",画布上会出现一条连接两个表的线,代表外键关系。
从模型生成 SQL (Forward Engineering)
当你设计好数据库结构后,可以一键生成建表的 SQL 脚本。
- 点击菜单栏的
Database->Forward Engineer...。 - Setup Overview: 确认你的模型,点击 "Next"。
- Select Objects to Export: 选择你想要导出的表和对象,点击 "Next"。
- Export Options:
- Export to Self-Contained File: 生成一个
.sql文件。 - Export to Database: 直接连接到数据库服务器并执行 SQL 语句创建表。
- 你可以选择 "Drop Existing Objects" 来先删除已存在的表。
- Export to Self-Contained File: 生成一个
- 点击 "Next" 查看摘要,"Start Export",Workbench 会生成 SQL 并执行。
从现有数据库生成模型 (Reverse Engineering)
如果你已经有一个数据库,但想可视化它的结构,可以使用此功能。
- 点击
Database-> `
