MySQL Workbench 是可视化数据库设计软件,为数据库管理员和开发人员提供了一整套可视化的数据库操作环境,主要功能有数据库设计与模型建立、SQL 开发(取代 MySQL Query Browser)、数据库管理(取代 MySQL Administrator)。
MySQL Workbench 有两个版本:
- MySQL Workbench Community Edition(也叫 MySQL Workbench OSS,社区版),MySQL Workbench OSS 是在GPL证书下发布的开源社会版本。
- MySQL Workbench Standard Edition(也叫 MySQL Workbench SE,商业版本),MySQL Workbench SE 是按年收费的商业版本。
MySQL Workbench 的初始界面如下图所示。
使用 Workbench 操作数据库
打开 MySQL Workbench 软件,如下图所示,方框标识的部分就是当前数据库服务器中已经创建的数据库列表。
在 MySQL 中,SCHEMAS 相当于 DATABASES 的列表。在 SCHEMAS 列表的空白处右击,选择 Refresh All 即可刷新当前数据库列表。
1) 创建数据库
在 SCHEMAS 列表的空白处右击,选择“Create Schema…”,则可创建一个数据库,如下图所示。
在创建数据库的对话框中,在 Name 框中输入数据库的名称,在 Collation 下拉列表中选择数据库指定的字符集。单击 Apply 按钮,即可创建成功,如下图所示。
在创建数据库的对话框中设置完成之后,可以预览当前操作的 SQL 脚本,即 CREATE DATABASE test_db,然后单击 Apply 按钮,最后在下一个弹出的对话框中直接单击 Finish 按钮,即可完成数据库 test_db 的创建,如下图所示。
使用同样的方法创建数据库 test_db_char,指定字符集默认为UTF-8。
2) 修改数据库
成功创建数据库后,可以修改数据库的字符集,在需要修改字符集的数据库上右击,选择“Alter Schema…”选项,即可修改数据库指定的字符集,如下图所示。
在修改数据库的对话框中,数据库的名称不可以修改,在 Collation 下拉列表中选择数据库需要修改为的字符集。单击 Apply 按钮,即可创建成功,如下图所示。
3) 删除数据库
可以在 SCHEMAS 列表中删除数据库,在需要删除的数据库上右击,选择“Drop Schema…”,如下图所示。
在弹出的对话框中单击 Drop Now 按钮,即可直接删除数据库,如下图所示。
若单击 Review SQL 按钮,则可以显示删除操作对应的 SQL 语句。单击 Execute 按钮就可以执行删除操作,如下图所示。
4) 设置默认数据库
在 SCHEMAS 列表中可以选择默认的数据库,在需要指定默认的数据库上右击,选择 Set As Default Schema,如下图所示。该操作相当于命令行工具中的 USE<database_name> 命令。
数据库 test_db 被设置为默认数据库之后,SCHEMAS 列表中的 test_db 字体会被加粗显示,如下图所示。
使用 Workbench 操作数据表
1) 创建数据表
打开 MySQL Workbench 软件,在 SCHEMAS 列表中展开当前默认的 test_db 数据库,在 Tables 菜单上右击,选择“Create Table…”,即可在 test_db 数据库中创建数据表,如下图所示。
在创建数据表的对话框中,在 Table Name 框中输入数据表的名称,在图中的方框部分编辑数据表的列信息,编辑完成后,单击 Apply 按钮,即可成功创建数据表,如下图所示。
设置完成之后,可以预览当前操作的 SQL 脚本,然后单击 Apply 按钮,最后在下一个弹出的对话框中直接单击 Finish 按钮,即可完成数据表 tb_emp1 的创建,如下图所示。
2) 查看数据表
成功创建数据表后,可以查看数据表的结构信息,在需要查看表结构的数据表上右击,选择 Table Inspector 选项,即可查看数据表的结构,如下图所示。
在查看数据表的对话框中,Info 标签显示了该数据表的表名、存储引擎、列数、表空间大小、创建时间、更新时间、字符集校对规则等信息,如下图所示。
在 Columns 标签显示了该表数据列的信息,包括列名、数据类型、默认值、非空标识、字符集、校对规则和使用权限等信息,如下图所示。
3) 修改数据表
在 SCHEMAS 界面的 test_db 数据库中,在需要修改表结构的数据表上右击,选择“Alter Table…”选项,即可修改数据表的基本信息和数据表结构,如下图所示。
在修改数据表的对话框中,如下图所示,在 Table Name 框中可以修改数据表的名称,在图中的方框部分编辑数据表的列信息,包括编辑列名、编辑数据类型、新建列、删除列,通过上下拖曳可以调整列的顺序,在数据列上右击即可删除该列。编辑完成后,单击 Apply 按钮,即可成功修改数据表。
设置完成之后,可以预览当前操作的 SQL 脚本,然后单击 Apply 按钮,最后在下一个弹出的对话框中直接单击 Finish 按钮,即可完成数据表 tb_emp1 的修改,如下图所示。
4) 删除数据表
可以在 SCHEMAS 中的 test_db 数据库的 Tables 列表中删除数据表,在需要删除的数据表上右击,选择“Drop Table…”,如下图所示。
在弹出的对话框中单击 Drop Now 按钮,可以直接删除数据表,如下图所示。
若在弹出的对话框中单击 Review SQL 按钮,则可以显示删除操作对应的 SQL 语句,单击 Execute 按钮就可以执行删除操作,如下图所示。
主键约束
在 MySQL Workbench 中,在修改表的对话框中,控制 PK 列的勾选情况,即可操作数据表的主键约束,当勾选 PK 复选框时,该列就是数据表的主键;当取消勾选 PK 复选框时,则取消该列的主键约束。单击 Apply 按钮即可完成表的修改,如下图所示。
外键约束
在 MySQL Workbench 中,打开修改数据表的对话框,进入 Foreign Keys 标签,首先在 Foreign Key Name 中填入外键名称,其次在 Referenced Table 中选择当前数据库中的数据表,然后选择设置外键的字段,接着选择主表的关联字段,最后单击 Apply 按钮即可完成外键的添加操作,如下图所示。
设置完成之后,可以预览当前操作的 SQL 脚本,然后单击 Apply 按钮,最后在下一个弹出的对话框中直接单击 Finish 按钮,即可完成数据表 tb_emp2 中外键的创建,如下图所示。
在外键约束的列表中,在需要删除的外键上右击,选择 Delete selected 选项,删除对应的外键,单击 Apply 按钮,即可完成删除,如下图所示。
设置完成之后,可以预览当前操作的 SQL 脚本,然后单击 Apply 按钮,最后在下一个弹出的对话框中直接单击 Finish 按钮,即可完成数据表 tb_emp2 中外键的删除,如下图所示。
唯一约束
在 MySQL Workbench 中,在修改数据表的对话框中,控制 UQ 列的勾选情况,即可操作数据表的唯一约束,当勾选 UQ 复选框时,该列就是数据表的唯一约束索引;当取消勾选 UQ 复选框时,则取消该列的唯一约束索引。单击 Apply 按钮即可完成表的修改,如下图所示。
默认值约束
在 MySQL Workbench 中,在修改数据表的对话框中,在 Default/Expression 列中编辑字段的默认值。单击 Apply 按钮即可完成表的修改,如下图所示。
非空约束
在 MySQL Workbench 中,在修改数据表的对话框中,控制 NN 列的勾选情况,即可操作数据表的非空约束。当勾选 NN 复选框时,该列为数据表的非空约束;当取消勾选 NN 复选框时,则取消该列的非空约束。单击 Apply 按钮即可完成表的修改,如下图所示。
编辑表中的数据
打开 MySQL Workbench 软件,在 SCHEMAS 列表中展开当前默认的 test_db 数据库,展开 Tables 菜单,在 tb_courses 表上右击,选择 Select Rows–Limit 1000,即可对 tb_courses 表中的数据进行编辑操作,如下图所示。
在弹出的对话框中,Edit 菜单栏中包含三个按钮,分别为“修改”“插入”和“删除”。单击 Apply 按钮,即可保存修改,如下图所示。
在编辑数据表的对话框中设置完成之后,可以预览当前操作的 SQL 脚本,然后单击 Apply 按钮,最后在下一个弹出的对话框中直接单击 Finish 按钮,即可完成数据表 tb_courses 中数据的修改,如下图所示。
视图
1) 创建视图
打开 MySQL Workbench 软件,在 SCHEMAS 列表中展开当前默认的 test_db 数据库,在 Views 菜单上右击,选择“Create View…”,即可创建一个视图,如下图所示。
在编辑视图的对话框中,如下图所示,设置视图名称和视图的定义。编辑完成后,单击 Apply 按钮,即可成功创建视图。
设置完成之后,可以预览当前操作的 SQL 脚本,然后单击 Apply 按钮,最后在下一个弹出的对话框中直接单击 Finish 按钮,即可完成视图 view_courses 的创建,如下图所示。
2) 查看视图信息
此时,可以在 Views 目录下找到新创建的视图 view_courses,右击 view_courses,选择 Select Rows–Limit 1000 选项,即可查看视图内容,如下图所示。
在查看视图内容的对话框中,视图内容为只读,不可修改,如下图所示。
3) 删除视图
可以在 SCHEMAS 的 Views 列表中删除视图,在需要删除的视图上右击,选择“Drop View…”,如下图所示。
在弹出的对话框中单击 Drop Now 按钮,即可直接删除视图,如下图所示。
若单击 Review SQL,则可以显示删除操作对应的 SQL 语句,单击 Execute 按钮就可以执行删除操作,如下图所示。
存储过程
打开 MySQL Workbench 软件,在菜单栏中单击“新建存储函数”按钮,即可新建存储过程,如下图所示。
在创建存储过程的对话框中,设置存储过程的名称和存储过程的定义,单击 Apply 按钮,即可成功创建自定义函数,如下图所示
设置完成之后,可以预览当前操作的 SQL 脚本,然后单击 Apply 按钮,最后在下一个弹出的对话框中直接单击 Finish 按钮,即可完成存储过程 new_procedure 的创建,如下图所示。
在 SCHEMAS 界面中,展开 test_db 数据库中的 Stored Procedures 目录,在新创建的存储过程 new_procedure 上右击,可以实现创建存储过程、修改存储过程、删除存储过程等操作,如下图所示。
触发器
打开 MySQL Workbench 软件,在 SCHEMAS 界面中,打开 test_db 数据库目录,展开 tb_emp8 的 Triggers 目录,可以查看该数据表相关的触发器,如下图所示。
在 SHEMAS 界面中,在 test_db 数据库的右侧单击“信息”按钮,如下图所示。
在弹出的数据库信息列表中,选择 Triggers 选项卡,即可查看触发器的详细信息,包括触发器名称、事件类型、关联的数据表和触发条件等信息,如下图所示。
用户和权限
1) 创建用户
打开 MySQL Workbench 软件,在菜单栏中选择 Server 菜单,在展开的列表中选择 Users and Privileges 选项,进入用户和权限的管理界面,如下图所示。
进入用户和权限的管理界面,左上角的方框中显示当前数据库中的用户列表,包括数据库系统默认的用户 mysql.session、mysql.sys、root 以及自定义的用户,同时列表中还显示用户的主机名称,如 localhost。在管理界面的左下角可以单击 Add Account 按钮,即可创建一个新用户,如下图所示。
在创建用户界面,可以设置用户名称、认证类型、主机名称、用户密码和确认密码,单击 Apply 按钮,即可完成用户的创建,如下图所示。
在左侧的用户列表中,选择某个用户,即可查看用户的用户名称、认证类型、主机名称、用户密码等信息。并且可以对用户信息进行修改,修改完成后单击 Apply 按钮,即可完成用户信息的修改,如下图所示。
2) 删除用户
在用户列表的下方,可以单击 Delete 按钮删除用户,单击 Refresh 按钮刷新用户的列表,如下图所示。