MySQL 8 教程

MySQL 主页 MySQL 简介 MySQL 功能 MySQL 版本 MySQL 变量 MySQL 下载安装和环境配置 MySQL 管理 MySQL PHP 语法 MySQL Node.js 语法 MySQL Java 语法 MySQL Python 语法 MySQL 连接 MySQL Workbench

MySQL 8 数据库

MySQL 创建数据库 MySQL 删除数据库 MySQL 选择数据库 MySQL 显示数据库 MySQL 复制数据库 MySQL 数据库导出 MySQL 数据库导入 MySQL 数据库信息

MySQL 8 用户

MySQL 创建用户 MySQL 删除用户 MySQL 显示用户 MySQL 更改密码 MySQL 授予权限 MySQL 显示权限 MySQL 撤销权限 MySQL 锁定用户账户 MySQL 解锁用户账户

MySQL 8 表

MySQL 创建表 MySQL 显示表 MySQL 修改表 MySQL 重命名表 MySQL 克隆表 MySQL 截断表 MySQL 临时表 MySQL 修复表 MySQL 描述表 MySQL 添加/删除列 MySQL 显示列 MySQL 重命名列 MySQL 表锁定 MySQL 删除表 MySQL 派生表

MySQL 8 查询

MySQL 查询 MySQL 约束 MySQL INSERT 插入查询 MySQL SELECT 查询 MySQL UPDATE 更新查询 MySQL DELETE删除查询 MySQL REPLACE 替换查询 MySQL 忽略插入 MySQL 重复键更新时插入 MySQL 插入到另一个表语句

MySQL 8 视图

MySQL 创建视图 MySQL 更新视图 MySQL 删除视图 MySQL 重命名视图

MySQL 8 索引

MySQL 索引 MySQL 创建索引 MySQL 删除索引 MySQL 显示索引 MySQL 唯一索引 MySQL 聚集索引 MySQL 非聚集索引

MySQL 运算符和子句

MySQL Where 子句 MySQL Limit 子句 MySQL Distinct 子句 MySQL Order By 子句 MySQL Group By 子句 MySQL Having 子句 MySQL AND 运算符 MySQL OR 或运算符 MySQL LIKE 运算符 MySQL IN 运算符 MySQL ANY 运算符 MySQL Exists 运算符 MySQL NOT 运算符 MySQL NOT EQUAL 运算符 MySQL IS NULL 运算符 MySQL IS NOT NULL 运算符 MySQL Between 运算符 MySQL UNION 运算符 MySQL UNION 与 UNION ALL MySQL MINUS 运算符 MySQL INTERSECT 运算符 MySQL INTERVAL 运算符

MySQL 连接

MySQL 使用连接 MySQL Inner Join 内连接 MySQL LEFT JOIN 左连接 MySQL RIGHT JOIN 右连接 MySQL CROSS JOIN 交叉连接 MySQL 全连接 MySQL 自连接 MySQL Delete Join 删除连接 MySQL UPDATE JOIN 更新连接 MySQL 联合 vs 连接

MySQL 键

MySQL UNIQUE 唯一键 MySQL PRIMARY KEY 主键 MySQL FOREIGN KEY 外键 MySQL 复合键 MySQL 备用键

MySQL 触发器

MySQL 触发器 MySQL 创建触发器 MySQL 显示触发器 MySQL 删除触发器 MySQL 插入前触发器 MySQL 插入后触发器 MySQL 更新前触发器 MySQL 更新后触发器 MySQL 删除前触发器 MySQL 删除后触发器

MySQL 8 数据类型

MySQL 数据类型 MySQL VARCHAR MySQL BOOLEAN MySQL ENUM 枚举 MySQL DECIMAL 十进制 MySQL INT 整数 MySQL FLOAT 浮点数 MySQL BIT 位 MySQL TINYINT 微小整数 MySQL BLOB 二进制大对象 MySQL SET 集合

MySQL 正则表达式

MySQL 正则表达式 MySQL RLIKE 运算符 MySQL NOT LIKE 运算符 MySQL NOT REGEXP 运算符 MySQL regexp_instr() 函数 MySQL regexp_like() 函数 MySQL regexp_replace() 函数 MySQL regexp_substr() 函数

MySQL 全文搜索

MySQL 全文搜索 MySQL 自然语言全文搜索 MySQL 布尔全文搜索 MySQL 查询扩展全文搜索 MySQL ngram 全文解析器

MySQL8 函数和运算符

MySQL 日期和时间函数 MySQL 算术运算符 MySQL 数字函数 MySQL 字符串函数 MySQL 聚合函数

MySQL 8 其他概念

MySQL NULL 值 MySQL 事务 MySQL 序列 MySQL 处理重复项 MySQL SQL 注入 MySQL 子查询 MySQL 注释 MySQL 检查约束 MySQL 存储引擎 MySQL 将表导出为 CSV 文件 MySQL 将 CSV 文件导入数据库 MySQL UUID MySQL 通用表表达式 MySQL 级联删除 MySQL Upsert 操作 MySQL 水平分区 MySQL 垂直分区 MySQL 游标 MySQL 存储函数 MySQL SIGNAL 异常处理 MySQL RESIGNAL 异常处理 MySQL 字符集 MySQL 排序规则 MySQL 通配符 MySQL 别名 MySQL ROLLUP 超级聚合 MySQL 当前日期 MySQL 字面量 MySQL 存储过程 MySQL EXPLAIN 语句 MySQL JSON MySQL 标准差 MySQL 查找重复记录 MySQL 删除重复记录 MySQL 选择随机记录 MySQL 显示进程列表 MySQL 更改列类型 MySQL 重置自动增量 MySQL Coalesce() 函数

MySQL 8 实用资源

MySQL 实用函数 MySQL 语句参考 MySQL 快速指南 MySQL 实用资源 MySQL 讨论


MySQL - Workbench

MySQL Workbench 是一个用于操作 MySQL 服务器和数据库的图形化工具。它由 Oracle 开发和维护。该应用程序包含各种功能,例如数据建模、数据迁移、SQL 开发、服务器管理、数据库备份、数据库恢复等等。MySQL Workbench 支持 MySQL 5.7 及以上版本。

MySQL 5.7 之前的版本已被弃用,并且与 MySQL Workbench 不兼容。因此,我们需要确保在建立连接之前升级它们。

MySQL Workbench 是推荐给数据库开发人员和管理员的应用程序。我们可以在 Windows、macOS 和 Linux 操作系统上下载此应用程序。

MySQL Workbench 的功能

以下是 MySQL Workbench 的五个主要功能 -

  • SQL 开发 - 此功能允许创建和管理与数据库服务器的连接。您可以使用 MySQL Workbench 内置的 SQL 编辑器对数据库连接执行 SQL 查询。

  • 数据建模(设计) - 此功能允许以图形方式创建数据库模式模型,在模式和实时数据库之间进行正向和反向工程,并使用综合表编辑数据库的各个方面。表编辑器提供了编辑表、列、索引、触发器、分区、选项、插入、权限、例程和视图的功能。

  • 服务器管理 − 它允许我们通过管理用户、查看数据库运行状况、执行备份和恢复、检查审计数据以及监控 MySQL 服务器性能来管理 MySQL 服务器实例。

  • 数据迁移 − 它允许我们将 Microsoft SQL Server、Microsoft Access、Sybase ASE、SQLite、SQL Anywhere PostreSQL 和其他 RDBMS 表、对象和数据迁移到 MySQL。迁移功能还允许我们从 MySQL 的早期版本迁移到最新版本。

  • MySQL 企业版支持 − 此功能支持企业版产品,例如 MySQL 企业版备份、MySQL 防火墙和 MySQL 审计。

MySQL Workbench 版本

MySQL Workbench 提供三个版本。以下分别介绍:−

  • MySQL Workbench 社区版 - 开源(GPL 许可证)

  • MySQL Workbench 标准版 - 商业版

  • MySQL Workbench 企业版 - 商业版

社区版

这是一个开源且可免费下载的数据库系统版本。它遵循 GPL(通用公共许可证),并由庞大的开发者社区提供支持。

标准版

这是商业版本,能够交付高性能且可扩展的 OLT(在线事务处理)应用程序。

企业版

企业版包含一系列高级功能、管理工具和技术支持,以实现最高的可扩展性、安全性、正常运行时间和可靠性。此版本将降低 MySQL 应用程序的开发、部署和管理中的风险、成本和复杂性。

比较图表

以下是上述功能的比较图表 -

功能 社区版 标准版 企业版
可视化 SQL 开发 是 是 是
可视化数据库管理 是 是 是
性能调优 是 是 是
用户和会话管理 是 是 是
连接管理 是 是 是
对象管理 是 是 是
数据管理 是 是 是
可视化数据建模 是 是 是
逆向工程 是 是 是
正向工程 是 是 是
Schema 同步 是 是 是
Schema &模型验证 否 是 是
DBDoc 否 是 是
MySQL Enterprise 备份的 GUI 否 是 是
MySQL Enterprise 审计的 GUI 否 是 是
MySQL Enterprise 的 GUI防火墙 否 是 是
脚本和插件 否 是 是
数据库迁移 否 是 是

MySQL Workbench 管理工具

MySQL Workbench 中的管理工具在数据安全方面发挥着至关重要的作用。以下是 MySQL Workbench 提供的一些管理工具 -

用户管理

此工具允许创建、修改和删除与用户相关的帐户。使用它可以管理用户的权限。

服务器配置

它允许我们配置服务器参数。它显示有关服务器和状态变量的各种详细信息、线程数、缓冲区分配大小、最佳性能微调等。

数据库备份和恢复

此工具用于导入和导出 MySQL 转储文件。这些转储文件包含用于创建表、创建视图、创建存储过程等的 SQL 脚本。

服务器日志

此工具按每个连接选项卡显示 MySQL 服务器的日志信息。对于每个选项卡连接,它都包含一个用于常规错误日志的附加选项卡。

性能仪表板

此选项卡提供服务器性能的实时统计视图和分析,例如 CPU 使用率、内存使用率、查询执行时间等。

在 MySQL Workbench 中创建数据库

我们可以在 MySQL Workbench 中创建数据库,而无需显式使用 SQL 语句。以下步骤展示了如何在 MySQl Workbench 中创建数据库 -

步骤 1 - 打开 MySQL Workbench 应用程序并使用用户名和密码登录。

步骤 2 - 现在,要创建数据库,请右键单击"模式"菜单,然后选择"创建模式"选项。另一种创建模式的方法是单击下图中以红色轮廓突出显示的"模式"按钮。

mysql

步骤 3 - 选择"创建模式"选项后,将打开一个新的模式窗口,如下图所示。现在我们可以输入数据库名称(例如 testdb)并使用默认排序规则。然后点击"应用"按钮。

mysql

步骤 4 − 点击"应用"按钮后,将打开一个新窗口。点击"应用"按钮,然后点击"完成"按钮。

步骤 5 − 现在,我们可以在模式菜单中看到上面创建的 testdb 数据库。如果看不到,请点击模式菜单右上角的刷新按钮。

mysql

注意 − 如果想查看更多关于 testdb 数据库的信息,请点击 testdb 数据库,然后点击 i 图标。信息窗口显示各种选项,例如表、列、索引、触发器等等。

在 MySQL Workbench 中删除数据库

同样,我们也可以使用 Workbench 删除数据库。以下是使用 MySQL Workbench 删除数据库的步骤 -

步骤 1 - 要在 MySQL Workbench 中删除数据库,请右键单击要删除的特定数据库,然后单击"删除架构"选项,如下图所示。

在这里,我们尝试删除之前创建的数据库 testdb。

mysql

步骤 2 - 现在将打开一个新窗口,单击"立即删除"选项,如下图所示。

mysql

MySQL Workbench 创建、修改和删除表

我们可以使用 MySQL Workbench 应用程序创建、修改和删除表。让我们逐步了解这些操作。

创建表

以下是使用 MySQL Workbench 创建表的步骤 -

步骤 1 - 打开 MySQL Workbench,使用用户名和密码登录。然后,点击窗口左上角的"模式"菜单。在这里,我们可以找到 MySQL 服务器中存在的所有数据库。

步骤 2 − 现在,双击之前创建的 testdb 数据库,我们可以看到数据库下的子菜单,例如表、视图、函数和存储过程,如下图所示。

mysql

步骤 3 − 现在,右键单击 表,然后点击 创建表 选项。或者,我们可以通过点击上图中红色轮廓突出显示的表按钮来创建表。

步骤 4 − 点击创建表选项后,将显示以下内容。然后我们需要输入表的名称(例如,employees),并使用默认的排序规则和引擎。

mysql

步骤 5 - 现在,点击表字段并输入列名。我们还可以选择列的属性,例如主键 (PK)、非空 (NN)、唯一键 (UQ) 等等。提供所有详细信息后,点击"应用"按钮。

步骤 6 - 点击"应用"按钮后,将打开一个 SQL 语句窗口,然后我们需要点击"应用"按钮和"完成"按钮来保存更改。

步骤 7 - 现在,返回"模式"菜单,并选择包含新创建的employees表的数据库。在那里,我们可以找到提供给表的所有数据。

mysql

修改表

以下是使用 MySQL Workbench 修改表的步骤 -

步骤 1 - 选择要修改的表,然后点击 i 图标。这里,我们修改之前创建的employees表。

mysql

步骤2 − 点击"i"图标后,将显示以下内容,我们可以在其中找到修改表的列、索引和其他数据类型等的选项。修改完成后,点击"分析表"按钮保存更改。

mysql

删除表

以下是使用 MySQL Workbench 删除表的步骤 −

步骤1 − 要删除表,我们需要选择要删除的特定表。然后,右键单击该表并选择"删除表"选项。这里,我们删除了员工表。

mysql

步骤 2 − 将打开一个新窗口,点击立即删除选项即可从数据库中删除该表。

mysql

MySQL Workbench 插入和删除表行

让我们看看如何使用 MySQL Workbench 应用程序插入和删除表行。

插入行

以下是使用 MySQL Workbench 将行插入表的步骤 -

步骤 1 − 打开 MySQL Workbench。然后点击窗口左上角的"Schemas"菜单。在这里,我们可以看到之前创建的数据库 (testdb) 和表 (employees)。

步骤 2 − 首先双击 testdb 数据库,然后双击"Tables"。现在,如果我们将鼠标悬停在"employees"表上,将会出现一个表图标。点击该表图标。

mysql

步骤 3 − 现在,点击相应的列或行以插入值。

mysql

步骤 4 − 插入值后,点击"应用"按钮。然后会打开一个新的 SQL 语句窗口,点击"应用"和"完成"按钮保存记录。如果我们想要修改记录,可以按照之前讨论的步骤进行。

删除行

以下是使用 MySQL Workbench 从表中删除行的步骤 -

步骤 1 - 要从表中删除单个行,我们只需右键单击该行,然后点击"删除行"选项,如下所示。此处,我们删除了第一行(即 ID = 1)。

mysql

步骤 2 - 选择"删除行"选项后,将打开一个新窗口。然后,点击"应用"和"完成"按钮保存更改。在下图中,我们可以看到第 1 行(即 ID =1)已被删除。

mysql

MySQL Workbench 导出和导入数据库

让我们看看如何使用 MySQL Workbench 应用程序导出和导入数据库。

导出数据库

以下是使用 MySQL Workbench 导出数据库的步骤 -

步骤 1 - 要导出数据库,请转到窗口顶部的菜单栏,然后​​单击服务器选项。点击后,选择数据导出选项。

mysql

步骤 2 − 将打开一个新的数据导出窗口。现在,选择数据库 (testdb),它将显示其中所有对应的表。

mysql

步骤 3 − 现在,点击下拉设置,我们将看到三个选项,例如"转储结构和数据"、"仅转储数据"和"仅转储结构"。

  • 转储结构和数据 − 此选项将同时导出表结构和数据记录。

  • 仅转储数据 − 这将仅导出表中的记录。

  • 仅转储结构 − 这将仅导出表结构,即我们定义的列和数据类型。

步骤 4 − 选择"转储结构和数据"选项。然后在导出选项中,我们可以看到两个选项,用于选择导出路径,如下所示:-

  • 导出到转储项目文件夹 - 此选项会将所有表导出为单独的 SQL 文件,并保存在一个文件夹中。建议在逐个导入导出文件时使用此选项。

  • 导出到独立文件 - 此选项会将所有数据库和表导出到一个 SQL 文件中。建议在导入所有数据库、表和数据行时使用此选项。

步骤 5 - 选择"导出到转储项目文件夹"选项,然后点击开始导出按钮。然后会显示一个进度条,如下图所示。

mysql

步骤 6 − 现在,我们可以在导出时在提供的路径中找到导出的文件。

导入数据库

以下是使用 MySQL Workbench 导入数据库的步骤 −

步骤 1 − 要导出数据库,请转到窗口顶部的菜单栏,然后​​点击服务器选项。点击后,选择数据导入选项。

mysql

步骤 2 − 将打开一个新的数据导入窗口。这里有两个选项:"从转储项目文件夹导入"和"从自包含文件导入"。

步骤 3 − 现在,我们将选择"从转储项目文件夹导入"选项,然后点击"加载文件夹内容"以显示项目文件夹中所有可用的数据库。

步骤 4 − 现在,从数据导入选项中选择 testdb 数据库,并选择相应的员工表。

mysql

步骤 5 − 选择"转储结构和数据"选项,然后点击"开始导入"按钮,从导出的文件导入数据库。

mysql

步骤 6 −现在,转到模式菜单并单击员工,再次单击表格以查看导入的表格。