Skip to content

MySQL - Workbench

MySQL Workbench 是 MySQL 的官方集成开发环境(IDE)。它是一个强大的图形工具,为数据库架构师、开发人员和管理员提供了一整套用于设计、开发和管理 MySQL 数据库的功能。它支持 MySQL Server 5.7 及更高版本,并可用于 Windows、macOS 和 Linux。

注意:虽然 Workbench 是一个流行的选择,但其他优秀的数据库管理工具包括 DBeaver(开源,多数据库)、DataGrip(商业版,由 JetBrains 出品)以及适用于 VS Code 等代码编辑器的各种扩展。

Workbench 将其功能分为几个关键领域:

  • SQL 开发: 功能强大的 SQL 编辑器,支持语法高亮、自动补全和执行历史记录。您可以管理到不同数据库服务器的多个连接,并在单独的选项卡中运行查询。
  • 数据建模(设计): 使用 ERD(实体关系图)工具可视化设计数据库模式。您可以正向工程(forward-engineer)一个模型来创建实时数据库,或逆向工程(reverse-engineer)现有数据库为一个模型以进行分析。
  • 服务器管理: 用于管理服务器实例的仪表板。这包括用户管理(授予权限)、服务器状态监控、配置管理和查看服务器日志。
  • 数据迁移: 一个向导驱动的工具,用于将数据库从其他系统(如 Microsoft SQL Server、PostgreSQL 等)迁移到 MySQL。
  • 备份和恢复: MySQL Enterprise Backup 工具(商业版中)的图形界面,以及用于标准逻辑导出(使用 mysqldump 等效功能)的界面。

MySQL Workbench 有三个版本:

  • 社区版(Community Edition): 免费的开源版本。它包含 SQL 开发、数据建模和基本服务器管理的所有核心功能。这是大多数开发人员入门时使用的版本。
  • 标准版(Standard Edition): 一个商业版本,增加了更高级的功能,包括模式和模型验证以及技术支持。
  • 企业版(Enterprise Edition): 最全面的商业版本,包含企业级工具,用于备份、安全审计和性能监控。

让我们通过 Workbench 图形界面来演示常见任务,这些任务通常会抽象化底层 SQL 命令。

在 MySQL 中,“数据库”(database)和“模式”(schema)是同义词。要创建一个:

  1. 在 Workbench 主窗口中,连接到您的数据库服务器。
  2. 在左侧的“SCHEMAS”面板中,右键单击空白区域并选择“Create Schema…”(创建模式…)。
  3. 新标签页打开。输入您的模式名称(例如,my_new_app)。
  4. 最佳实践是选择字符集(Charset)和排序规则(Collation)。对于现代应用程序,请选择 utf8mb4 和 utf8mb4_unicode_ci。
  5. 单击“Apply”(应用)按钮。新窗口将显示 Workbench 将执行的 CREATE SCHEMA SQL 语句。审查后再次单击“Apply”以确认。
  1. 在“SCHEMAS”面板中,展开您刚刚创建的数据库。
  2. 右键单击“Tables”(表)项,然后选择“Create Table…”(创建表…)。
  3. 在新标签页中,为您的表命名(例如,users)。
  4. 在下方的网格中,定义您的列。单击以添加新列,并指定其“Column Name”(列名)和“Datatype”(数据类型)(例如,id INT,username VARCHAR(45))。
  5. 使用复选框(PK、NN、UQ)来设置约束,如主键(Primary Key)、非空(Not Null)和唯一(Unique)。
  6. 定义完所有列后,单击“Apply”(应用)。审查生成的 CREATE TABLE SQL 语句,然后单击“Apply”执行它。
  1. 在“SCHEMAS”面板中,找到您要编辑的表。
  2. 将鼠标悬停在表名上,然后单击右侧出现的小网格图标(显示表数据)。
  3. 结果网格打开。您可以直接在底部的空行中输入以插入新数据。
  4. 要编辑现有数据,只需单击单元格并更改其值。
  5. 重要提示:更改不会自动保存。您必须单击右下角面板中的“Apply”(应用)按钮,才能将更改提交到数据库。Workbench 会向您显示即将运行的 INSERT 或 UPDATE 语句。

要删除对象,只需在“SCHEMAS”面板中右键单击它,然后选择“Drop Table…”(删除表…)或“Drop Schema…”(删除模式…)。将出现确认对话框。请注意,此操作不可逆。

Workbench 在现代开发工作流中的应用

Section titled “Workbench 在现代开发工作流中的应用”

尽管 Workbench 对于直接操作很有用,但其真正的强大之处在于其与结构化开发过程的集成。

  • 模式设计和版本控制: 使用 EER 图工具设计您的数据库。完成后,您可以将模式正向工程(forward-engineer)为一个 SQL 脚本文件(.sql)。此脚本可以提交到您的项目版本控制系统(如 Git)中,从而提供数据库更改的历史记录。
  • 环境管理: 为不同环境(例如,本地开发、预生产服务器、生产服务器)保存连接配置文件。这使得在它们之间切换变得简单和安全。使用连接的颜色编码功能,可以直观地区分生产服务器并防止意外更改。
  • 性能调优: 在 SQL 编辑器中运行查询时,您可以查看其“执行计划”(Execution Plan)。这种可视化表示显示了 MySQL 将如何执行查询,帮助您识别瓶颈、缺失索引和其他性能问题。

Workbench 提供了一个用户友好的界面,用于创建逻辑备份,这些备份本质上是包含用于重新创建数据库结构和/或数据的命令的 SQL 文件。这与使用 mysqldump 命令行实用程序等效。

  1. 从顶部菜单中,导航到“Server”(服务器)>“Data Export”(数据导出)。
  2. 从左侧列表中选择您希望导出的模式。
  3. 对于每个模式,您可以选择要包含哪些表、视图或例程。
  4. 选择一个导出选项:“Export to Dump Project Folder”(导出到转储项目文件夹)(创建单独的文件,有利于版本控制)或“Export to Self-Contained File”(导出到独立文件)(创建一个单个的 .sql 文件,便于传输)。
  5. 单击“Start Export”(开始导出)。
  1. 导航到“Server”(服务器)>“Data Import”(数据导入)。
  2. 选择数据源(“Import from Dump Project Folder”(从转储项目文件夹导入)或“Import from Self-Contained File”(从独立文件导入)),然后浏览到您的文件位置。
  3. 选择要导入数据的目标模式。您可以创建一个新的,或使用现有的。
  4. 单击“Start Import”(开始导入)以执行 SQL 脚本并填充数据库。