MySQL Workbench 使用教程 - 如何使用 Workbench 操作 MySQL / MariaDB 数据库中文指南

HiJiangChuan · · 1914 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

![MySQL Workbench 使用教程 - 如何使用 MySQL Workbench 操作数据库](https://kalacloud.com/static/2bdadee47f747aa8b35007e256a0b778/ef245/head.jpg) 本文首发:《[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/) 免费下载。 ![下载MySQL Workbench](https://kalacloud.com/static/8e1098d20024f99b1025a27357fd27a4/dcec8/0-downloads.jpg) 在这个下载页中,可根据你的实际情况选择适合你的运行平台及版本。 下载后一路 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 初始化界面](https://kalacloud.com/static/86f583895bedf3a19a03dc88d6f4e3e0/48958/01-interface.jpg) Workbench 初始化界面 ### 2.连接远程 MySQL 数据库 ![连接远程 MySQL 数据库](https://kalacloud.com/static/fc5a2ec9afda037d9f8b503f6d1512e6/cd367/02-connect.jpg) 点击配置好的远程登录卡片,登录远程 MySQL 服务器。如果你还没配置好远程端,请参照《[如何使用 Workbench 远程连接到 MySQL 服务器](https://kalacloud.com/blog/how-to-connect-to-a-mysql-server-remotely-with-mysql-workbench//?utm_medium=inside)》这篇教程进行配置。 ![连接远程 MySQL 数据库](https://kalacloud.com/static/a3eec04dc6a8e68f3ff32ffe4b05eb7d/06921/03-connect-face.jpg) 登录远程数据库后,红框部分为当前远程 MySQL 数据库中已经创建好的数据库列表。 ### 3.创建数据库 ![创建数据库](https://kalacloud.com/static/922f02c387539f147c530355b0fc8b1a/93992/04-create-databases.jpg) 在 `SCHEMAS` 列表的空白处,点击鼠标右键,在弹出的菜单中选择「Create Schema…」,进入数据库创建流程页面。 ![填写数据库名称](https://kalacloud.com/static/ed57545a0d8156f65fdb3a31da5b78de/93992/05-database-rename.jpg) 在 Schema Name 里填入新建数据库的数据库名,然后选择 Apply ![生成 SQL 命令脚本](https://kalacloud.com/static/7649d46b436e50628cf97c9beb0a426c/6753f/06-database-rename-sql.jpg) MySQL Workbench 会自动帮助我们生成 SQL 命令,创建数据库。 ![创建数据库成功](https://kalacloud.com/static/1db6aee51657de14589554fbf53a0252/3b2a1/07-create-databases-successfully.jpg) 执行命令,创建成功。可以看到 Schemas 列表中多了我们刚刚创建的 `kalacloud_demo` 数据库 ### 4.在`kalacloud_demo` 数据库中创建表 ![设置当前数据库为默认数据库](https://kalacloud.com/static/0d3711a82eeab907c682ced7a27dcebf/dfb5e/08-set-as-default.jpg) 右键点击`kalacloud_demo` ,选择 `Set as Default Schema` 先把它设置成默认数据库。 ![创建数据库中的表](https://kalacloud.com/static/423b89c2ffc612cc032d18e12acf1a1b/0d6e3/09-create-tables.jpg) 然后选择下箭头,右键点击 `Tables` 选择 `Create Table` 进入创建表的流程页。 ![表的创建流程页](https://kalacloud.com/static/b7f6805b49bab932e875b905061cb352/14fc6/10-create-tables-id.jpg) (1)`Name`:这里填写表名 (2)这里创建表中的各列、列属性。 (3)点击<click to edit>可添加一列。 (4)点击 Apply 执行 SQL 命令。 ![创建表的 SQL 命令](https://kalacloud.com/static/20f2be854efb6e308a0edaaa1469c35d/48958/11-create-tables-id-sql.jpg) MySQL Workbench 会帮我们生成创建表的 SQL 命令。 ### 5.查看表数据 ![查看表数据](https://kalacloud.com/static/c622d0d5b8f466b5af87a0840d6f360a/bbc43/12-select-tables.jpg) (1)点击要查看的表名后面的「闪电 icon」标示 (2)Workben 自动帮我们生成一段查看表的 SQL 命令 (3)点击黄色闪电标志执行后,可在 Result Grid 看到查询表的表数据 ### 6.向 table 表中插入数据 ![向 table 表中插入数据](https://kalacloud.com/static/b92d4c662a5d4d5fdbd0c55be3dff17b/bbc43/13-1-insert-tables.jpg) (1)使用 `Select` 查出表内容后,在表格内直添加需要写入的数据。 (2)Workbench 会生成一段查看表的代码 (3)在下方表格中展示表内数据,我们可以根据自己的需求在这里向表内添加数据。 (4)最后点击应用生成添加数据的代码 ![向 table 表中插入数据的 SQL 代码](https://kalacloud.com/static/78d4850a53eeb606cc052d18157b1a72/8b3ab/13-2-insert-tables-sql.jpg) 如上图所示,我们可以看到 id 为 1 的卡拉云这一行数据已经转化成 SQL 命令,点击应用即可将数据添加到数据库中。 ### 7.修改字段属性 ![修改字段属性](https://kalacloud.com/static/44788d68f8faa783bc9dd4287717e958/ad3f1/14-alter-tables.jpg) 右键点击需要修改的表,选择「Alter Table...」,右侧会显示出表信息,修改需要修改的内容后,Apply 即可应用。 ### 8.删除数据库中的表 ![删除数据表](https://kalacloud.com/static/98f91cd08635c62bb71c4fcc4a207e37/ad3f1/15-del-tables.jpg) 右键选择需要删除的表,然后点击「Drop Table...」即可删除。注意:此操作不可撤回,谨慎选择。 扩展阅读:《[如何在 MySQL 中查找和删除重复记录?](https://kalacloud.com/blog/mysql-remove-duplicate-records/?utm_medium=inside)》 ## 四. MySQL 数据导入导出 ### 1.使用 MySQL Workbench 导入 SQL 数据 ![使用 MySQL Workbench 导入数据](https://kalacloud.com/static/85cc88ef4f3dc684a0c0c3c21d65c4f8/cd851/16-open-sql-script.jpg) 在菜单栏中选择 `File` → `Open SQL Script...` 选择要导入的 SQL 文件 ![打开 SQL 文件](https://kalacloud.com/static/68149eb07a89a2deb2ab8b42f50d12a6/903c8/17-open-sql.jpg) 在弹出的对话框中选择需要导入的 SQL 文件。 ![选择 SQL 文件](https://kalacloud.com/static/3390b9fa2564f0bb544f52e620249bbc/d9e34/18-0-use-database.jpg) 这里非常关键,一定要仔细阅读。 (1)在打开的 SQL 文件的头部,写入需要导入的数据库名,本教程将导入 `kalacloud_demo` 这个数据库。 所以在文件中写入 `USE kalacloud_demo;` (2)点击黄色闪电 icon 执行代码 (3)将这 4 条数据写入数据库对应的 users 表中 ![MySQL 数据导入成功](https://kalacloud.com/static/79c5307d9fd1bec7c1d59e8dd75b4512/25fc1/18-1-use-database-sess.jpg) 使用 `SELECT` 查询表,可以看到 4 条数据已经成功导入 ### 2.使用 MySQL Workbench 导出 SQL 数据 ![使用 MySQL Workbench 导出数据](https://kalacloud.com/static/9f1bb55a9f813121873f33ee10d084ba/d9e34/19-Data-Export.jpg) (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](https://kalacloud.com/static/5157908784800877046bfa8f73225027/bbc43/20-Primary-Key.jpg) Primary Key(PK):主键约束,指定某列的数据非空、唯一、不能重复 (1)右键点击需要设置的表,选择「Alter Table...」 (2)`PK` 为设置主键约束。 ### 2.外键约束 ![外键约束-Foreign-Key](https://kalacloud.com/static/d5b0279b5173590f79590829dca074d1/50a3f/21-Foreign-Key.jpg) Foreign Key:外键,指定该列记录属于主表中的一条记录,参照另一条数据 (1)右键点击需要设置的表,选择「Alter Table...」 (2)选择「Foreign Keys」的标签 (3)选择要关联的表 (4)当前表的列,选择要关联的键 (5)被关联表的列,选择需要关联的键 (6)Apply 应用,进行关联 ### 3.唯一约束:UQ 索引 ![唯一约束:UQ 索引](https://kalacloud.com/static/140312065d254937dc5a0c6cffbefdfc/a4151/22-Unique.jpg) Unique:唯一约束,指定某列和几列组合的数据不能重复 选中的列就是数据表的唯一约束索引,取消选中则取消该列的唯一约束索引。 ### 4.非空约束 ![非空约束-Not-Null.jpg](https://kalacloud.com/static/e127a0002213f61403d93a5e54d07d43/3d027/23-Not-Null.jpg) Not Null:非空约束,指定某列不能为 NULL 空 选中 NN 的列为数据表的非空约束,取消选中则取消该列的非空约束。 ### 5.默认值约束 ![默认值约束-Default](https://kalacloud.com/static/2f04157cce02cf86f96f80f45e92a2f8/d9e34/24-Default.jpg) 默认值(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](https://kalacloud.com/static/8cb35a0e61d7534bf344618685aeda46/d9e34/25-query-run.jpg) 直接在 `Query` 标签中写入 SQL 代码,然后点击「黄色闪电」即可执行代码。 然后,我们运行 `select` 查看上一条命令是否已经写入表中。 ``` SELECT * FROM kalacloud_demo.kalacloud_table_demo; ``` ![query 执行完成](https://kalacloud.com/static/ce0303a62eca314ddb44deda73b10982/d9e34/26-query-check.jpg) 我们可以看到,红框部分,ID 2 这一条就是刚刚我们写入的数据。 扩展阅读:《[如何查看 MySQL 数据库、表、索引容量大小?找到占用空间最大的表](https://kalacloud.com/blog/how-to-get-the-sizes-of-the-tables-of-a-mysql-database/?utm_medium=inside)》 ## 七. 创建 MySQL 触发器及触发器的应用 ![创建 MySQL 触发器](https://kalacloud.com/static/3c8779a359c9c8ac838bf21942a6b405/ad3f1/27-Triggers.jpg) 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 数据库中的账号情况 ![查看 MySQL 数据库中的账号情况](https://kalacloud.com/static/c58a36b70fdb004dbd9a8d0ba21ddf08/ad3f1/28-0-enter-users.jpg) (1)在菜单栏选择 `Server` (2)选择 `Users and Privileges` 进入用户管理页面 ### 2.创建 MySQL 数据库账号 ![创建 MySQL 数据库账号](https://kalacloud.com/static/e4f3b625ed2d03fac3740a6e32b1c6c7/1176d/28-1-Add-Account.jpg) (1)选择 `Add Account` (2)添加账号详细信息 (3)Apply 应用 ### 3.删除 MySQL 数据库账号 ![删除 MySQL 数据库账号](https://kalacloud.com/static/7ac5ff0fc8c68cc41ef98a701658d6f6/d9e34/28-2-dele.jpg) (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](https://kalacloud.com/static/18822b2a23183deb7d11dd484a7f65aa/71c1d/97-kalacloud-sql.png) 卡拉云可一键接入常见的数据库及 API 卡拉云可根据公司工作流需求,轻松搭建数据看板,并且可分享给组内的小伙伴共享数据 ![仅需拖拽即可生成前端组件](https://kalacloud.com/5400a60956e16d655e0297c5d6e5a8d2/98-kalacloud-gif.gif) 下图为使用卡拉云在 5 分钟内搭建的「优惠券发放核销」后台,仅需要简单拖拽即可快速生成前端组件,只要会写 SQL,便可搭建一套趁手的数据库工具。**欢迎使用[卡拉云](https://kalacloud.com/?utm_medium=register)。** ![使用卡拉云5分钟搭建优惠券发放核销系统](https://kalacloud.com/static/34625d3adaea4ed250ff3f05b863e47c/cca35/99-kalacloud-sql-index.png) ## 总结 在本教程中,我们讲解了 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

1914 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传