MySQL - Workbench
MySQL Workbench 入门
Section titled “MySQL Workbench 入门”MySQL Workbench 是 MySQL 的官方集成开发环境(IDE)。它是一个强大的图形工具,为数据库架构师、开发人员和管理员提供了一整套用于设计、开发和管理 MySQL 数据库的功能。它支持 MySQL Server 5.7 及更高版本,并可用于 Windows、macOS 和 Linux。
注意:虽然 Workbench 是一个流行的选择,但其他优秀的数据库管理工具包括 DBeaver(开源,多数据库)、DataGrip(商业版,由 JetBrains 出品)以及适用于 VS Code 等代码编辑器的各种扩展。
MySQL Workbench 的主要功能
Section titled “MySQL Workbench 的主要功能”Workbench 将其功能分为几个关键领域:
- SQL 开发: 功能强大的 SQL 编辑器,支持语法高亮、自动补全和执行历史记录。您可以管理到不同数据库服务器的多个连接,并在单独的选项卡中运行查询。
- 数据建模(设计): 使用 ERD(实体关系图)工具可视化设计数据库模式。您可以正向工程(forward-engineer)一个模型来创建实时数据库,或逆向工程(reverse-engineer)现有数据库为一个模型以进行分析。
- 服务器管理: 用于管理服务器实例的仪表板。这包括用户管理(授予权限)、服务器状态监控、配置管理和查看服务器日志。
- 数据迁移: 一个向导驱动的工具,用于将数据库从其他系统(如 Microsoft SQL Server、PostgreSQL 等)迁移到 MySQL。
- 备份和恢复: MySQL Enterprise Backup 工具(商业版中)的图形界面,以及用于标准逻辑导出(使用
mysqldump等效功能)的界面。
MySQL Workbench 版本
Section titled “MySQL Workbench 版本”MySQL Workbench 有三个版本:
- 社区版(Community Edition): 免费的开源版本。它包含 SQL 开发、数据建模和基本服务器管理的所有核心功能。这是大多数开发人员入门时使用的版本。
- 标准版(Standard Edition): 一个商业版本,增加了更高级的功能,包括模式和模型验证以及技术支持。
- 企业版(Enterprise Edition): 最全面的商业版本,包含企业级工具,用于备份、安全审计和性能监控。
Workbench 中的基本数据库操作
Section titled “Workbench 中的基本数据库操作”让我们通过 Workbench 图形界面来演示常见任务,这些任务通常会抽象化底层 SQL 命令。
创建新数据库(模式)
Section titled “创建新数据库(模式)”在 MySQL 中,“数据库”(database)和“模式”(schema)是同义词。要创建一个:
- 在 Workbench 主窗口中,连接到您的数据库服务器。
- 在左侧的“SCHEMAS”面板中,右键单击空白区域并选择“Create Schema…”(创建模式…)。
- 新标签页打开。输入您的模式名称(例如,
my_new_app)。 - 最佳实践是选择字符集(
Charset)和排序规则(Collation)。对于现代应用程序,请选择utf8mb4和utf8mb4_unicode_ci。 - 单击“Apply”(应用)按钮。新窗口将显示 Workbench 将执行的
CREATE SCHEMASQL 语句。审查后再次单击“Apply”以确认。
- 在“SCHEMAS”面板中,展开您刚刚创建的数据库。
- 右键单击“Tables”(表)项,然后选择“Create Table…”(创建表…)。
- 在新标签页中,为您的表命名(例如,
users)。 - 在下方的网格中,定义您的列。单击以添加新列,并指定其“Column Name”(列名)和“Datatype”(数据类型)(例如,
id INT,username VARCHAR(45))。 - 使用复选框(
PK、NN、UQ)来设置约束,如主键(Primary Key)、非空(Not Null)和唯一(Unique)。 - 定义完所有列后,单击“Apply”(应用)。审查生成的
CREATE TABLESQL 语句,然后单击“Apply”执行它。
插入和编辑数据
Section titled “插入和编辑数据”- 在“SCHEMAS”面板中,找到您要编辑的表。
- 将鼠标悬停在表名上,然后单击右侧出现的小网格图标(显示表数据)。
- 结果网格打开。您可以直接在底部的空行中输入以插入新数据。
- 要编辑现有数据,只需单击单元格并更改其值。
- 重要提示:更改不会自动保存。您必须单击右下角面板中的“Apply”(应用)按钮,才能将更改提交到数据库。Workbench 会向您显示即将运行的
INSERT或UPDATE语句。
删除表或模式
Section titled “删除表或模式”要删除对象,只需在“SCHEMAS”面板中右键单击它,然后选择“Drop Table…”(删除表…)或“Drop Schema…”(删除模式…)。将出现确认对话框。请注意,此操作不可逆。
Workbench 在现代开发工作流中的应用
Section titled “Workbench 在现代开发工作流中的应用”尽管 Workbench 对于直接操作很有用,但其真正的强大之处在于其与结构化开发过程的集成。
- 模式设计和版本控制: 使用 EER 图工具设计您的数据库。完成后,您可以将模式正向工程(forward-engineer)为一个 SQL 脚本文件(.sql)。此脚本可以提交到您的项目版本控制系统(如 Git)中,从而提供数据库更改的历史记录。
- 环境管理: 为不同环境(例如,本地开发、预生产服务器、生产服务器)保存连接配置文件。这使得在它们之间切换变得简单和安全。使用连接的颜色编码功能,可以直观地区分生产服务器并防止意外更改。
- 性能调优: 在 SQL 编辑器中运行查询时,您可以查看其“执行计划”(Execution Plan)。这种可视化表示显示了 MySQL 将如何执行查询,帮助您识别瓶颈、缺失索引和其他性能问题。
数据导出和导入(逻辑备份)
Section titled “数据导出和导入(逻辑备份)”Workbench 提供了一个用户友好的界面,用于创建逻辑备份,这些备份本质上是包含用于重新创建数据库结构和/或数据的命令的 SQL 文件。这与使用 mysqldump 命令行实用程序等效。
- 从顶部菜单中,导航到“Server”(服务器)>“Data Export”(数据导出)。
- 从左侧列表中选择您希望导出的模式。
- 对于每个模式,您可以选择要包含哪些表、视图或例程。
- 选择一个导出选项:“Export to Dump Project Folder”(导出到转储项目文件夹)(创建单独的文件,有利于版本控制)或“Export to Self-Contained File”(导出到独立文件)(创建一个单个的
.sql文件,便于传输)。 - 单击“Start Export”(开始导出)。
- 导航到“Server”(服务器)>“Data Import”(数据导入)。
- 选择数据源(“Import from Dump Project Folder”(从转储项目文件夹导入)或“Import from Self-Contained File”(从独立文件导入)),然后浏览到您的文件位置。
- 选择要导入数据的目标模式。您可以创建一个新的,或使用现有的。
- 单击“Start Import”(开始导入)以执行 SQL 脚本并填充数据库。