本文首发:《MySQL Workbench 使用中文教程 - 卡拉云》
MySQL Workbench 是一款专门为 MySQL 设计的可视化数据库管理软件,我们可以在自己的计算机上,使用图形化界面远程管理 MySQL 数据库。
有关 MySQL 远程管理软件,你可以选择 Windows 下的 HeidiSQL,MacOS 下的 Sequel Ace 或者 MySQL 官方推出的跨平台客户端 MySQL Workbench 。
本文使用 Mac 版 MySQL Workbench 进行讲解,Mac 版与 windows 版、Linux 版除 UI 界面稍有不同外,整个操作逻辑完全一致,不论你使用何种操作系统及版本,均可跟随本教程学习。
本教程目录
一. 如何下载及安装 MySQL Workbench
二. 如何使用 Workbench 远程连接数据库
三. 使用 Workbench 操作数据库
- MySQL Workbench 初始化界面
- 连接远程 MySQL 数据库
- 创建数据库
- 在数据库中创建表
- 查看表数据
- 向 table 表中插入数据
- 修改字段属性
- 删除数据库中的表
四. MySQL 数据导入导出
- 导入 SQL 数据
- 导出 SQL 数据
五. 配置 MySQL 数据库表属性
- 主键约束
- 外键约束
- 唯一约束:UQ 索引
- 非空约束
- 默认值约束
六. 在 Workbench 中执行一条 SQL 查询
七. 创建触发器及触发器的应用
八. 用户账号和访问权限
- 查看 MySQL 数据库中的账号情况
- 创建 MySQL 数据库账号
- 删除 MySQL 数据库账号
九. Workbench 的升级版卡拉云
一. 如何下载及安装 MySQL Workbench
MySQL Workbench 作为 MySQL 官方出品的数据库操作软件,我们可以前往 MySQL Workbench 官方下载页 免费下载。
在这个下载页中,可根据你的实际情况选择适合你的运行平台及版本。
下载后一路 Next 安装即可。
扩展阅读:《10 款 MySQL GUI 管理工具横向测评 - 免费和付费到底怎么选?》
二. 如何使用 Workbench 远程连接数据库
- 你的服务器需要打开 SSH 登录(如果选择 SSH 登录后再登录 MySQL 需要打开)
- 调整服务器防火墙
- 配置好 MySQL 远程登录(如果选择直接远程登录 MySQL 服务器时需要打开)
有关 Workbench 远程登录的教程,请在《如何使用 Workbench 远程连接到 MySQL 服务器》查看全文。
有关 MySQL 开启远程登录的教程,请在《如何远程连接 MySQL 数据库,配置阿里云外网连接》查看全文。
三. 使用 Workbench 操作数据库
1.MySQL Workbench 初始化界面
Workbench 初始化界面
2.连接远程 MySQL 数据库
点击配置好的远程登录卡片,登录远程 MySQL 服务器。如果你还没配置好远程端,请参照《如何使用 Workbench 远程连接到 MySQL 服务器》这篇教程进行配置。
登录远程数据库后,红框部分为当前远程 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 中查找和删除重复记录?》
四. 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》
五. 配置 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)教程 - 完美保留表数据的终极解决方案》
六. 在 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 数据库、表、索引容量大小?找到占用空间最大的表》
七. 创建 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 教程 - 卡拉云》文章。此教程以实际应用场景为线索,按照场景细致讲解了全部 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 使用教程》
扩展阅读:《MySQL 权限管理查询手册 - 创建、授权、取消授权、删除、重命名账号》
九. 卡拉云 - 新一代低代码开发工具
MySQL Workbench 为我们提供了管理 MySQL 的图形界面管理工具,可以在本地轻松管理远程数据库,但 Workbench 只能做较底层的数据库操作。对于「构建在数据库之上,需要前端定制开发」的需求,并不适用。
这里推荐一下卡拉云,卡拉云是新一代低代码开发工具,免安装部署,可一键接入包括 MySQL 在内的常见数据库及 API。不仅可以完成 Workbench 所有功能,还可根据自己的工作流,定制开发。无需繁琐的前端开发,只需要简单拖拽,即可快速搭建企业内部工具。数月的开发工作量,使用卡拉云后可缩减至数天。
卡拉云可一键接入常见的数据库及 API
卡拉云可根据公司工作流需求,轻松搭建数据看板,并且可分享给组内的小伙伴共享数据
下图为使用卡拉云在 5 分钟内搭建的「优惠券发放核销」后台,仅需要简单拖拽即可快速生成前端组件,只要会写 SQL,便可搭建一套趁手的数据库工具。欢迎使用卡拉云。
总结
在本教程中,我们讲解了 MySQL Workbench 操作 MySQL 数据库的基础操作。
有关 MySQL 教程,可继续拓展学习: