分享
MySQL Workbench 使用教程 - 如何使用 Workbench 操作 MySQL / MariaDB 数据库中文指南
HiJiangChuan · · 2545 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

本文首发:《[MySQL Workbench 使用中文教程 - 卡拉云](https://kalacloud.com/blog/mysql-workbench-tutorial/)》
MySQL Workbench 是一款专门为 MySQL 设计的可视化数据库管理软件,我们可以在自己的计算机上,使用图形化界面远程管理 MySQL 数据库。
有关 MySQL 远程管理软件,你可以选择 Windows 下的 [HeidiSQL](https://kalacloud.com/blog/best-mysql-gui-tools/),MacOS 下的 [Sequel Ace](https://zhihu.com/question/21792734/answer/2236258250) 或者 MySQL 官方推出的跨平台客户端 [MySQL Workbench](http://www.mysql.com/products/workbench/) 。
本文使用 Mac 版 MySQL Workbench 进行讲解,Mac 版与 windows 版、Linux 版除 UI 界面稍有不同外,整个操作逻辑完全一致,不论你使用何种操作系统及版本,均可跟随本教程学习。
**本教程目录**
一. 如何下载及安装 MySQL Workbench
二. 如何使用 Workbench 远程连接数据库
三. 使用 Workbench 操作数据库
1. MySQL Workbench 初始化界面
2. 连接远程 MySQL 数据库
3. 创建数据库
4. 在数据库中创建表
5. 查看表数据
6. 向 table 表中插入数据
7. 修改字段属性
8. 删除数据库中的表
四. MySQL 数据导入导出
1. 导入 SQL 数据
2. 导出 SQL 数据
五. 配置 MySQL 数据库表属性
1. 主键约束
2. 外键约束
3. 唯一约束:UQ 索引
4. 非空约束
5. 默认值约束
六. 在 Workbench 中执行一条 SQL 查询
七. 创建触发器及触发器的应用
八. 用户账号和访问权限
1. 查看 MySQL 数据库中的账号情况
2. 创建 MySQL 数据库账号
3. 删除 MySQL 数据库账号
九. Workbench 的升级版卡拉云
## 一. 如何下载及安装 MySQL Workbench
MySQL Workbench 作为 MySQL 官方出品的数据库操作软件,我们可以前往 [MySQL Workbench 官方下载页](https://downloads.mysql.com/archives/workbench/) 免费下载。

在这个下载页中,可根据你的实际情况选择适合你的运行平台及版本。
下载后一路 Next 安装即可。
扩展阅读:《[10 款 MySQL GUI 管理工具横向测评 - 免费和付费到底怎么选?](https://kalacloud.com/blog/best-mysql-gui-tools/?utm_medium=inside)》
## 二. 如何使用 Workbench 远程连接数据库
- 你的服务器需要打开 SSH 登录(如果选择 SSH 登录后再登录 MySQL 需要打开)
- 调整服务器防火墙
- 配置好 MySQL 远程登录(如果选择直接远程登录 MySQL 服务器时需要打开)
有关 Workbench 远程登录的教程,请在《[如何使用 Workbench 远程连接到 MySQL 服务器](https://kalacloud.com/blog/how-to-connect-to-a-mysql-server-remotely-with-mysql-workbench//?utm_medium=inside)》查看全文。
有关 MySQL 开启远程登录的教程,请在《[如何远程连接 MySQL 数据库,配置阿里云外网连接](https://kalacloud.com/blog/how-to-allow-remote-access-to-mysql/?utm_medium=inside)》查看全文。
## 三. 使用 Workbench 操作数据库
### 1.MySQL Workbench 初始化界面

Workbench 初始化界面
### 2.连接远程 MySQL 数据库

点击配置好的远程登录卡片,登录远程 MySQL 服务器。如果你还没配置好远程端,请参照《[如何使用 Workbench 远程连接到 MySQL 服务器](https://kalacloud.com/blog/how-to-connect-to-a-mysql-server-remotely-with-mysql-workbench//?utm_medium=inside)》这篇教程进行配置。

登录远程数据库后,红框部分为当前远程 MySQL 数据库中已经创建好的数据库列表。
### 3.创建数据库

在 `SCHEMAS` 列表的空白处,点击鼠标右键,在弹出的菜单中选择「Create Schema...」,进入数据库创建流程页面。

在 Schema Name 里填入新建数据库的数据库名,然后选择 Apply

MySQL Workbench 会自动帮助我们生成 SQL 命令,创建数据库。

执行命令,创建成功。可以看到 Schemas 列表中多了我们刚刚创建的 `kalacloud_demo` 数据库
### 4.在`kalacloud_demo` 数据库中创建表

右键点击`kalacloud_demo` ,选择 `Set as Default Schema` 先把它设置成默认数据库。

然后选择下箭头,右键点击 `Tables` 选择 `Create Table` 进入创建表的流程页。

(1)`Name`:这里填写表名
(2)这里创建表中的各列、列属性。
(3)点击<click to edit>可添加一列。
(4)点击 Apply 执行 SQL 命令。

MySQL Workbench 会帮我们生成创建表的 SQL 命令。
### 5.查看表数据

(1)点击要查看的表名后面的「闪电 icon」标示
(2)Workben 自动帮我们生成一段查看表的 SQL 命令
(3)点击黄色闪电标志执行后,可在 Result Grid 看到查询表的表数据
### 6.向 table 表中插入数据

(1)使用 `Select` 查出表内容后,在表格内直添加需要写入的数据。
(2)Workbench 会生成一段查看表的代码
(3)在下方表格中展示表内数据,我们可以根据自己的需求在这里向表内添加数据。
(4)最后点击应用生成添加数据的代码

如上图所示,我们可以看到 id 为 1 的卡拉云这一行数据已经转化成 SQL 命令,点击应用即可将数据添加到数据库中。
### 7.修改字段属性

右键点击需要修改的表,选择「Alter Table...」,右侧会显示出表信息,修改需要修改的内容后,Apply 即可应用。
### 8.删除数据库中的表

右键选择需要删除的表,然后点击「Drop Table...」即可删除。注意:此操作不可撤回,谨慎选择。
扩展阅读:《[如何在 MySQL 中查找和删除重复记录?](https://kalacloud.com/blog/mysql-remove-duplicate-records/?utm_medium=inside)》
## 四. MySQL 数据导入导出
### 1.使用 MySQL Workbench 导入 SQL 数据

在菜单栏中选择 `File` → `Open SQL Script...` 选择要导入的 SQL 文件

在弹出的对话框中选择需要导入的 SQL 文件。

这里非常关键,一定要仔细阅读。
(1)在打开的 SQL 文件的头部,写入需要导入的数据库名,本教程将导入 `kalacloud_demo` 这个数据库。 所以在文件中写入 `USE kalacloud_demo;`
(2)点击黄色闪电 icon 执行代码
(3)将这 4 条数据写入数据库对应的 users 表中

使用 `SELECT` 查询表,可以看到 4 条数据已经成功导入
### 2.使用 MySQL Workbench 导出 SQL 数据

(1)选择 Administration 标签
(2)在 MANAGENMENT 中找到 Data Export
(3)选择需要导出的数据库
(4)选择需要导出数据库中的表
(5)选择导出内容
(6)选择导出 SQL 文件的存储路径
(7)Start Export 开始导出
扩展阅读:《[如何在 MySQL 中导入导出 SQL 数据、Excel、CSV](https://kalacloud.com/blog/how-to-import-and-export-databases-excel-csv-in-mysql-or-mariadb-from-terminal/?utm_medium=inside)》
## 五. 配置 MySQL 数据库表属性
### 1.主键约束

Primary Key(PK):主键约束,指定某列的数据非空、唯一、不能重复
(1)右键点击需要设置的表,选择「Alter Table...」
(2)`PK` 为设置主键约束。
### 2.外键约束

Foreign Key:外键,指定该列记录属于主表中的一条记录,参照另一条数据
(1)右键点击需要设置的表,选择「Alter Table...」
(2)选择「Foreign Keys」的标签
(3)选择要关联的表
(4)当前表的列,选择要关联的键
(5)被关联表的列,选择需要关联的键
(6)Apply 应用,进行关联
### 3.唯一约束:UQ 索引

Unique:唯一约束,指定某列和几列组合的数据不能重复
选中的列就是数据表的唯一约束索引,取消选中则取消该列的唯一约束索引。
### 4.非空约束

Not Null:非空约束,指定某列不能为 NULL 空
选中 NN 的列为数据表的非空约束,取消选中则取消该列的非空约束。
### 5.默认值约束

默认值(Default)的完整名称是 默认值约束(Default Constraint)
MySQL 默认值约束用来指定某列的默认值。
红框部分,`states` 的默认值设定为「1」,即插入一条新的记录时没有为这个字段赋值,那么系统会自动为这个字段赋值为「1」。
扩展阅读:《[MySQL 重置自增 ID (AUTO_INCREMENT)教程 - 完美保留表数据的终极解决方案](https://kalacloud.com/blog/how-to-reset-auto-increment-in-mysql/?utm_medium=inside)》
## 六. 在 Workbench 中执行一条 SQL 查询
我们也可以直接在 Workbench 执行一段 SQL 查询,下面这段代码是向`kalacloud_demo`数据库中`kalacloud_table_demo`表里插入一行数据。
```
INSERT INTO `kalacloud_demo`.`kalacloud_table_demo` (`id`, `name`, `phone`, `wechat_id`, `wechat_name`, `states`)
VALUES ('2', '卡拉云 kalacloud', '13777779999', 'kalacloud', '卡拉云 kalacloud.com', '2');
```

直接在 `Query` 标签中写入 SQL 代码,然后点击「黄色闪电」即可执行代码。
然后,我们运行 `select` 查看上一条命令是否已经写入表中。
```
SELECT * FROM kalacloud_demo.kalacloud_table_demo;
```

我们可以看到,红框部分,ID 2 这一条就是刚刚我们写入的数据。
扩展阅读:《[如何查看 MySQL 数据库、表、索引容量大小?找到占用空间最大的表](https://kalacloud.com/blog/how-to-get-the-sizes-of-the-tables-of-a-mysql-database/?utm_medium=inside)》
## 七. 创建 MySQL 触发器及触发器的应用

1.鼠标右键点击需要添加触发器的表。
2.选择 `Triggers` 标签,进入触发器设置页面
3.选择需要添加的触发器类型。
4.添加触发器代码
MySQL 触发器一共有 6 种类型:
- `BEFORE INSERT` : 在插入数据前,检测插入数据是否符合业务逻辑,如不符合返回错误信息。
- `AFTER INSERT` : 在表 A 创建新账户后,将创建成功信息自动写入表 B 中。
- `BEFORE UPDATE` :在更新数据前,检测更新数据是否符合业务逻辑,如不符合返回错误信息。
- `AFTER UPDATE` :在更新数据后,将操作行为记录在 log 中
- `BEFORE DELETE` :在删除数据前,检查是否有关联数据,如有,停止删除操作。
- `AFTER DELETE` :删除表 A 信息后,自动删除表 B 中与表 A 相关联的信息。
有关六类触发器的实际使用方法及应用场景的详细教程,可查看《[MySQL 触发器 创建 、查看、删除 insert、update、delete 教程 - 卡拉云](https://kalacloud.com/blog/how-to-manage-and-use-mysql-database-triggers/?utm_medium=inside)》文章。此教程以实际应用场景为线索,按照场景细致讲解了全部 6 种触发器的使用方法。
## 八. 用户账号和访问权限
### 1.查看 MySQL 数据库中的账号情况

(1)在菜单栏选择 `Server`
(2)选择 `Users and Privileges` 进入用户管理页面
### 2.创建 MySQL 数据库账号

(1)选择 `Add Account`
(2)添加账号详细信息
(3)Apply 应用
### 3.删除 MySQL 数据库账号

(1)选择需要删除的账号
(2)点击 `Delete`
(3)点击 `Refresh` 刷新列表
最后,Workbench 有一些只有付费软件才独有的功能,比如画 ER 图,比如正逆向工程,数据库本地远程之间同步等,这类进阶功能我单独写了一篇,大家可以看这篇《[如何使用 MySQL Workbench 自动生成 ER 图、同步更新远程数据库 - MySQL Workbench 使用教程](https://kalacloud.com/blog/how-to-create-er-diagram-of-a-database-in-mysql-workbench/?utm_medium=inside)》
扩展阅读:《[MySQL 权限管理查询手册 - 创建、授权、取消授权、删除、重命名账号](https://kalacloud.com/blog/how-to-create-a-new-user-and-grant-permissions-in-mysql/?utm_medium=inside)》
## 九. 卡拉云 - 新一代低代码开发工具
MySQL Workbench 为我们提供了管理 MySQL 的图形界面管理工具,可以在本地轻松管理远程数据库,但 Workbench 只能做较底层的数据库操作。对于「构建在数据库之上,需要前端定制开发」的需求,并不适用。
这里推荐一下卡拉云,卡拉云是新一代低代码开发工具,免安装部署,可一键接入包括 MySQL 在内的常见数据库及 API。不仅可以完成 Workbench 所有功能,还可根据自己的工作流,定制开发。无需繁琐的前端开发,只需要简单拖拽,即可快速搭建企业内部工具。数月的开发工作量,使用卡拉云后可缩减至数天。

卡拉云可一键接入常见的数据库及 API
卡拉云可根据公司工作流需求,轻松搭建数据看板,并且可分享给组内的小伙伴共享数据

下图为使用卡拉云在 5 分钟内搭建的「优惠券发放核销」后台,仅需要简单拖拽即可快速生成前端组件,只要会写 SQL,便可搭建一套趁手的数据库工具。**欢迎使用[卡拉云](https://kalacloud.com/?utm_medium=register)。**

## 总结
在本教程中,我们讲解了 MySQL Workbench 操作 MySQL 数据库的基础操作。
有关 MySQL 教程,可继续拓展学习:
- [MySQL 时间戳用什么类型 - MySQL 时间函数详解](https://kalacloud.com/blog/difference-between-mysql-datetime-and-timestamp-datatypes/)
- [MySQL 中如何实现 BLOB 数据类型的存取,BLOB 有哪些应用场景?](https://kalacloud.com/blog/how-to-use-the-mysql-blob-data-type-to-store-images-with-php-or-kalacloud/)
- [如何在 MySQL / MariaDB 中跳过多张表导出或指定多张表导出备份](https://kalacloud.com/blog/how-to-dump-database-and-ignore-or-specific-some-tables-with-mysqldump-in-mysql/)
- [如何将 MySQL / MariaDB 的查询结果保存到文件](https://kalacloud.com/blog/how-to-save-mysql-mariadb-query-output-to-a-file/)
- [MySQL 分组查询实战 如何查询每组最第一条、最后一条记录,单多字段查询、分组筛选、最大小值排序](https://kalacloud.com/blog/how-to-group-by-find-first-and-last-record-in-mysql/)
有疑问加站长微信联系(非本文作者))
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信2545 次点击
上一篇:Go时区Parse的坑
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传