如果你想知道使用Workbench操作MySql数据库是否很难,那么让我告诉你,我并不那么难,但完全相反。一旦熟悉MySql Workbench工具,创建模式,表格,关系和填充这些表格非常容易。
通过遵循本文的指导,您将掌握创建数据库,创建和填充表格,创建这些表格之间的关系以及备份数据的技能。稍后,我们将使用此数据库进行连接.NET Core项目。
如果您想查看本教程的所有基本说明和完整导航,请单击以下链接: 本教程的简介页面。
MYSQL,创建模式模型图
MySQL服务器安装完毕后,我们将启动MySQL Workbench,它将成为我们创建表的工具。当你打开工作台时,点击现有的连接,添加密码,你将被重定向到数据库视图。返回主屏幕并点击模型图标。
通过点击模型文本旁边的加号按钮,我们将进入模型视图,这将允许我们创建新的模式。
在添加图表按钮上单击两次,您将看到创建架构的屏幕。在这里,我们将创建我们的表格和它们之间的关系。
在架构模型图中创建表
我们将创建两个表格。点击表格的图标,然后再次点击工作场地。重复此步骤再创建一个表格。之后,在第一个表上点击两次,以便我们可以创建列并给表格命名。你会有这样的事情。
命名第一个表所有者并添加列,如下所示:
双击第二个表,将其命名为Account,并按如下方式添加列:
只是想解释为什么表中的主键的值Char(36)。这是因为我们将使用GUID作为我们的密钥,并且在MySQL中用GUID表示Char(36)。
添加表关系
您可以通过按CTRL + S保存模型,之后,我们将添加关系到我们的表格。我们假定一个所有者可以拥有多个账户(国内,外币,储蓄......),因此我们看到所有者和账户之间存在一对多关系。考虑到这些知识,我们希望通过在Account表中创建OwnerId外键来连接两个表,这样可以为我们提供这两个表之间的关系。
点击 上图中标记的1: N 关系,然后首先点击账户表,然后点击所有者表。在该行动之后,您会在帐户表格中看到新列。那是我们的外键。双击该新列以更改其名称。将其命名为OwnerId。
现在,如果您完全放下,您会看到几个标签。我们目前处于“列”选项卡中。如果您右键单击外键选项卡,您将在账户表中看到有关外键的信息。
我们来改变OnUpdate和OnDelete的默认设置。对于OnUpdate,我们将选择Cascade选项。这意味着如果拥有主表的主键的行自动更新,请使用Account表中的相应外键更新行。另外,对于OnDelete,我们将选择Restrict选项。这是因为我们不希望允许从Owner表中删除具有主键的行,而无需事先使用相应的外键删除该行。这样我们就保留了数据库的参照完整性。
如果您查看作为模式视图一部分的目录树,则会看到“mydb”作为数据库名称。我们不想这样调用我们的数据库,所以要改变它,右键单击mydb并选择编辑模式。给它一个AccountOwner的名字并保存你的模型。
将模式导出到脚本文件
我们完成了模式创建。现在,我们想要将我们的模式导出到一个脚本文件中,通过简单地执行我们生成的脚本,该脚本文件将为我们提供一个用表格创建数据库的代码。
单击文件菜单,然后将鼠标悬停在导出上并选择正向工程SQL创建脚本。您将看到一个新窗口,您必须在其中添加脚本文件的名称和生成脚本的其他选项。在“输出SQL脚本文件”字段中,编写脚本的名称,如果留空,您将只查看生成的脚本并能够复制但不保存它。另外,点击“在每个CREATE语句之前生成DROP语句”选项。此选项将删除任何现有表格,然后创建具有相同名称的新表格。这样,如果在启动脚本文件时任何表已经存在于数据库中,您将避免错误。
点击下一步按钮。您将看到SQL对象资源管理器筛选器,并在该窗口中检查第一个选项:导出MySQL表对象。再次单击下一步。在这里你会注意到你的脚本的样子。只需点击完成,脚本将被导出到您想要的位置。
从脚本文件创建数据库
如果您的数据库视图仍然打开,请在该视图上重定向您自己。如果未打开,请单击主页选项卡,然后单击顶部的第一个图标(其上带有Dolphin),然后单击Local Instance部分以进入数据库视图。
在数据库视图中,选择页面Navigator部分中的Schemas选项卡。在那里你会发现一些默认数据库的创建,在这一节中,你的新数据库将出现。
转到文件菜单并选择运行SQL脚本。选择保存的脚本,然后点击运行按钮。这将创建数据库。如果刷新模式视图,您将能够看到我们的数据库。
由于帐户表取决于所有者表,因此我们需要先填充所有者表,然后填充帐户表。右键单击所有者表,选择第一个选项:选择行 - 限制...,您将看到一个如下所示的窗口。
用数据填充表格
现在我们要填充我们的表格,并为此打开一个新的SQL选项卡来执行查询
并执行下面的代码:
INSERT INTO `owner`
VALUES ('24fd81f8-d58a-4bcc-9f35-dc6cd5641906','John Keen','1980-12-05','61 Wellfield Road'),
('261e1685-cf26-494c-b17c-3546e65f5620','Anna Bosh','1974-11-14','27 Colored Row'),
('a3c1880c-674c-4d18-8f91-5d3608a2c937','Sam Query','1990-04-22','91 Western Roads'),
('f98e4d74-0f68-4aac-89fd-047f1aaca6b6','Martin Miller','1983-05-21','3 Edgar Buildings');
INSERT INTO `account`
('356a5a9b-64bf-4de0-bc84-5395a1fdc9c4','1996-02-15','Domestic','261e1685-cf26-494c-b17c-3546e65f5620'),
('371b93f2-f8c5-4a32-894a-fc672741aa5b','1999-05-04','Domestic','24fd81f8-d58a-4bcc-9f35-dc6cd5641906'),
('670775db-ecc0-4b90-a9ab-37cd0d8e2801','1999-12-21','Savings','24fd81f8-d58a-4bcc-9f35-dc6cd5641906'),
('a3fbad0b-7f48-4feb-8ac0-6d3bbc997bfc','2010-05-28','Domestic','a3c1880c-674c-4d18-8f91-5d3608a2c937'),
('aa15f658-04bb-4f73-82af-82db49d0fbef','1999-05-12','Foreign','24fd81f8-d58a-4bcc-9f35-dc6cd5641906'),
('c6066eb0-53ca-43e1-97aa-3c2169eec659','1996-02-16','Foreign','261e1685-cf26-494c-b17c-3546e65f5620'),
('eccadf79-85fe-402f-893c-32d3f03ed9b1','2010-06-20','Foreign','a3c1880c-674c-4d18-8f91-5d3608a2c937');
通过执行上面的代码,我们将使我们的表格填充所需的数据。
如果要备份数据,则只需执行以下操作:单击服务器菜单,选择数据导出,选择数据库,然后选中导出到自包含文件。选择备份文件的目标位置,然后单击开始导出。
结论
这就是本教程的第1部分。我们已经学会了如何创建MySQL模式,如何创建表和表关系。另外,我们已经学会了创建数据库脚本并将数据插入到表中。
尽管我们介绍了MySQL的基础知识,但您有足够的知识来开始创建您自己的关系数据库模式。
感谢您阅读并查看 下一部分,我们开始深入.NET CORE世界。
对于任何其他问题,请不要犹豫,通过留下下面的评论来问。
领取专属 10元无门槛券
私享最新 技术干货