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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: MySQL Workbench 是一款专门为 MySQL 设计的可视化数据库管理软件,我们可以在自己的计算机上,使用图形化界面远程管理 MySQL 数据库。有关 MySQL 远程管理软件,你可以选择 Windows 下的 HeidiSQL,MacOS 下的 Sequel Ace 或者 MySQL 官方推出的跨平台客户端 MySQL Workbench 。

MySQL Workbench 使用教程 - 如何使用 MySQL Workbench 操作数据库

本文首发:《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 操作数据库

  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 官方下载页 免费下载。

下载MySQL Workbench

在这个下载页中,可根据你的实际情况选择适合你的运行平台及版本。

下载后一路 Next 安装即可。

扩展阅读:《10 款 MySQL GUI 管理工具横向测评 - 免费和付费到底怎么选?

二. 如何使用 Workbench 远程连接数据库

  • 你的服务器需要打开 SSH 登录(如果选择 SSH 登录后再登录 MySQL 需要打开)
  • 调整服务器防火墙
  • 配置好 MySQL 远程登录(如果选择直接远程登录 MySQL 服务器时需要打开)

有关 Workbench 远程登录的教程,请在《如何使用 Workbench 远程连接到 MySQL 服务器》查看全文。

有关 MySQL 开启远程登录的教程,请在《如何远程连接 MySQL 数据库,配置阿里云外网连接》查看全文。

三. 使用 Workbench 操作数据库

1.MySQL Workbench 初始化界面

Workbench 初始化界面

Workbench 初始化界面

2.连接远程 MySQL 数据库

连接远程 MySQL 数据库

点击配置好的远程登录卡片,登录远程 MySQL 服务器。如果你还没配置好远程端,请参照《如何使用 Workbench 远程连接到 MySQL 服务器》这篇教程进行配置。

连接远程 MySQL 数据库

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

3.创建数据库

创建数据库

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

填写数据库名称

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

生成 SQL 命令脚本

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 命令。

创建表的 SQL 命令

MySQL Workbench 会帮我们生成创建表的 SQL 命令。

5.查看表数据

查看表数据

(1)点击要查看的表名后面的「闪电 icon」标示

(2)Workben 自动帮我们生成一段查看表的 SQL 命令

(3)点击黄色闪电标志执行后,可在 Result Grid 看到查询表的表数据

6.向 table 表中插入数据

向 table 表中插入数据

(1)使用 Select 查出表内容后,在表格内直添加需要写入的数据。

(2)Workbench 会生成一段查看表的代码

(3)在下方表格中展示表内数据,我们可以根据自己的需求在这里向表内添加数据。

(4)最后点击应用生成添加数据的代码

向 table 表中插入数据的 SQL 代码

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

7.修改字段属性

修改字段属性

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

8.删除数据库中的表

删除数据表

右键选择需要删除的表,然后点击「Drop Table...」即可删除。注意:此操作不可撤回,谨慎选择。

扩展阅读:《如何在 MySQL 中查找和删除重复记录?

四. MySQL 数据导入导出

1.使用 MySQL Workbench 导入 SQL 数据

使用 MySQL Workbench 导入数据

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

打开 SQL 文件

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

选择 SQL 文件

这里非常关键,一定要仔细阅读。

(1)在打开的 SQL 文件的头部,写入需要导入的数据库名,本教程将导入 kalacloud_demo 这个数据库。 所以在文件中写入 USE kalacloud_demo;

(2)点击黄色闪电 icon 执行代码

(3)将这 4 条数据写入数据库对应的 users 表中

MySQL 数据导入成功

使用 SELECT 查询表,可以看到 4 条数据已经成功导入

2.使用 MySQL Workbench 导出 SQL 数据

使用 MySQL Workbench 导出数据

(1)选择 Administration 标签

(2)在 MANAGENMENT 中找到 Data Export

(3)选择需要导出的数据库

(4)选择需要导出数据库中的表

(5)选择导出内容

(6)选择导出 SQL 文件的存储路径

(7)Start Export 开始导出

扩展阅读:《如何在 MySQL 中导入导出 SQL 数据、Excel、CSV

五. 配置 MySQL 数据库表属性

1.主键约束

主键约束 Primary-Key

Primary Key(PK):主键约束,指定某列的数据非空、唯一、不能重复

(1)右键点击需要设置的表,选择「Alter Table...」

(2)PK 为设置主键约束。

2.外键约束

外键约束-Foreign-Key

Foreign Key:外键,指定该列记录属于主表中的一条记录,参照另一条数据

(1)右键点击需要设置的表,选择「Alter Table...」

(2)选择「Foreign Keys」的标签

(3)选择要关联的表

(4)当前表的列,选择要关联的键

(5)被关联表的列,选择需要关联的键

(6)Apply 应用,进行关联

3.唯一约束:UQ 索引

唯一约束:UQ 索引

Unique:唯一约束,指定某列和几列组合的数据不能重复

选中的列就是数据表的唯一约束索引,取消选中则取消该列的唯一约束索引。

4.非空约束

非空约束-Not-Null.jpg

Not Null:非空约束,指定某列不能为 NULL 空

选中 NN 的列为数据表的非空约束,取消选中则取消该列的非空约束。

5.默认值约束

默认值约束-Default

默认值(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

直接在 Query 标签中写入 SQL 代码,然后点击「黄色闪电」即可执行代码。

然后,我们运行 select 查看上一条命令是否已经写入表中。

SELECT * FROM kalacloud_demo.kalacloud_table_demo;

query 执行完成

我们可以看到,红框部分,ID 2 这一条就是刚刚我们写入的数据。

扩展阅读:《如何查看 MySQL 数据库、表、索引容量大小?找到占用空间最大的表

七. 创建 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 数据库中的账号情况

查看 MySQL 数据库中的账号情况

(1)在菜单栏选择 Server

(2)选择 Users and Privileges 进入用户管理页面

2.创建 MySQL 数据库账号

创建 MySQL 数据库账号

(1)选择 Add Account

(2)添加账号详细信息

(3)Apply 应用

3.删除 MySQL 数据库账号

删除 MySQL 数据库账号

(1)选择需要删除的账号

(2)点击 Delete

(3)点击 Refresh 刷新列表

最后,Workbench 有一些只有付费软件才独有的功能,比如画 ER 图,比如正逆向工程,数据库本地远程之间同步等,这类进阶功能我单独写了一篇,大家可以看这篇《如何使用 MySQL Workbench 自动生成 ER 图、同步更新远程数据库 - MySQL Workbench 使用教程

扩展阅读:《MySQL 权限管理查询手册 - 创建、授权、取消授权、删除、重命名账号

九. 卡拉云 - 新一代低代码开发工具

MySQL Workbench 为我们提供了管理 MySQL 的图形界面管理工具,可以在本地轻松管理远程数据库,但 Workbench 只能做较底层的数据库操作。对于「构建在数据库之上,需要前端定制开发」的需求,并不适用。

这里推荐一下卡拉云,卡拉云是新一代低代码开发工具,免安装部署,可一键接入包括 MySQL 在内的常见数据库及 API。不仅可以完成 Workbench 所有功能,还可根据自己的工作流,定制开发。无需繁琐的前端开发,只需要简单拖拽,即可快速搭建企业内部工具。数月的开发工作量,使用卡拉云后可缩减至数天。

卡拉云可一键接入常见的数据库及 API

卡拉云可一键接入常见的数据库及 API

卡拉云可根据公司工作流需求,轻松搭建数据看板,并且可分享给组内的小伙伴共享数据

仅需拖拽即可生成前端组件

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

使用卡拉云5分钟搭建优惠券发放核销系统

总结

在本教程中,我们讲解了 MySQL Workbench 操作 MySQL 数据库的基础操作。

有关 MySQL 教程,可继续拓展学习:

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
19天前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
99 26
|
6天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
24 3
|
6天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
29 3
|
6天前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
35 2
|
20天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
140 15
|
13天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。
|
1月前
|
关系型数据库 MySQL Java
Servlet+MySQL增删改查 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/1391
对于任何项目开发,创建,读取,更新和删除(CRUD)记录操作是应用程序的一个最重要部分。
64 20
|
20天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
24天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
1月前
|
关系型数据库 MySQL 数据库
GBase 数据库如何像MYSQL一样存放多行数据
GBase 数据库如何像MYSQL一样存放多行数据