实验内容与完成情况:

一、实验目的

1、熟悉MySQL实验环境,掌握如何在MySQL图形环境下建立数据库和表,设置主码和外码,并在表中实现对记录的插入、修改和删除操作。

2、掌握数据库和表的导出和导入操作。

二、实验内容

1、在希翼平台启动MySQL数据库服务并登录MySQL Workbench

在桌面上右键选择‘Open Terminal Here’选项,打开Terminal。

然后在终端输入命令 ‘docker start mysql’启动 MySQL 数据库服务。

Mysql实战项目 mysql实验_数据库

启动MySQL Workbench,点击连接图标,然后输入密码

Mysql实战项目 mysql实验_Mysql实战项目_02

在查询窗口中输入‘show databases’,点击执行按钮,可以看到查询结果。

Mysql实战项目 mysql实验_数据库_03

2. 创建用户数据库

通过点击按钮图标

Mysql实战项目 mysql实验_mysql_04

可新建用户数据库,输入数据库名称,如:Test,两次点击“Apply”和“Close”按钮,完成用户数据库的创建。

Mysql实战项目 mysql实验_右键_05

刷新后,可见新建的用户数据库Test。

Mysql实战项目 mysql实验_Mysql实战项目_06

双击选中数据库Test,点击图标

Mysql实战项目 mysql实验_右键_07

按要求建立好Student表

Mysql实战项目 mysql实验_Mysql实战项目_08

用同样的方式建立Course表。

Mysql实战项目 mysql实验_数据库_09

SC表

Mysql实战项目 mysql实验_右键_10

注意在SC表中主码由Sno和Cno两个构成,所以要在Indexes里把Cno勾上

Mysql实战项目 mysql实验_mysql_11

于是完成了3张表的搭建。

Mysql实战项目 mysql实验_MySQL_12

3、修改表结构(设置外码)

选中“SC”表,单击鼠标右键,选择选项“Alter Table…”进入修改表结构窗口。

Mysql实战项目 mysql实验_右键_13

点击按钮

Mysql实战项目 mysql实验_MySQL_14

设置SC表的第1个外码Sno。

Mysql实战项目 mysql实验_数据库_15

用同样的方法设置SC表的第2个外码Cno。

Mysql实战项目 mysql实验_Mysql实战项目_16

两次点击按钮“Apply”完成SC表的外码设置。

5、插入数据

选中表Student,单击鼠标右键,选择选项“Select Rows - Limit 1000”,进入Student表的数据录入窗口,按照给出的表给录入数据。

Mysql实战项目 mysql实验_数据库_17

用同样的方式为Course表和SC表插入数据。

Course表:

Mysql实战项目 mysql实验_数据库_18

SC表:

Mysql实战项目 mysql实验_右键_19

6、删除数据

在数据表SC中选中最后一行,右键选择选项“Delete Row(s)”,即可删除选中的某行记录。

Mysql实战项目 mysql实验_mysql_20

可见,SC表中最后一行已被删除。

Mysql实战项目 mysql实验_右键_21

7、导出和导入数据库和表

(1)导出

在菜单栏中,单击选项`Server`,然后选择选项`Data Export`进入,在界面中勾选自己需要导出的数据库,在导出选项中,选择’Dump Structure and Data’(转储结构和数据)

Mysql实战项目 mysql实验_MySQL_22

点击按钮’Start Export’之后,保存的路径中找到导出的数据库或表

Mysql实战项目 mysql实验_Mysql实战项目_23

(2)导入

删除自己建的数据库

Mysql实战项目 mysql实验_数据库_24

新建一个和备份数据库同名的数据库。

Mysql实战项目 mysql实验_右键_25

在菜单栏中,单击’Server’,然后选择’Data Import’进入,选择’Import from Dump Project Folder’,点击’Load Folder Content’,找到自己存放数据库的位置。点击按钮’Start Import’开始导入。(可以看见导入之前左边是没有表格的)

Mysql实战项目 mysql实验_mysql_26

导入之后刷新查看

Mysql实战项目 mysql实验_数据库_27

三、出现的问题及其解决方案(列出遇到的问题和解决办法,列出没有解决的问题)

问题1

提醒一个易错点,在添加SC表中主码由Sno和Cno两个构成,所以要在Indexes里把Cno勾上

分析原因:

SC表中主码由Sno和Cno两个构成

解决办法:

在Indexes里把Cno勾上

问题2

在线很久没回到希翼操作网页后,重新进MySQL Workbench

Mysql实战项目 mysql实验_MySQL_28

点击后不会出现输入密码的框而是,直接进入但是显示未连接

Mysql实战项目 mysql实验_Mysql实战项目_29

分析原因:

可能是设置了一定时间内未进行操作会自动断开连接的指令,所以一段时间后再去点击,会显示未连接而不是显示输入密码框(这里测试了关闭Terminal后也是一样的结果)

解决办法:

在桌面上右键选择‘Open Terminal Here’选项,打开Terminal。

然后在终端输入命令 ‘docker start mysql’启动 MySQL 数据库服务。