上机实践名称:数据库安装与基础操作
姓名:刘东含
上机实践日期:2022.03.10
一、目的
1.安装MySQL数据库与Navicat可视化数据库管理工具。
2.创建university数据库,并通过命令行/数据库可视化管理工具完成表的增删查改。
二、内容与设计思想
1.安装virtualbox与Ubuntu
2.在Ubuntu环境中安装MySQL与Navicat
3.在Navicat中创建于MySQL的连接
4.创建university数据库
5.创建表
6.增删查改数据(参考网址https://www.cnblogs.com/yangming1996/p/10416499.html)
三、使用环境
Oracle VM VirtualBox , Ubuntu20.04LTS , Mysql 8.0.28-0 , Navicat16
四、实验过程
详细记录实验过程中出现的问题及解决方法。
记录实验结果。
1.安装virtualbox与Ubuntu
在经历几次莫名其妙的错误与不兼容情况后,最终选择了 Ubuntu20.04LTS版本并成功运行了(泪千行…),由于虚拟机与Ubuntu下载比较熟练简单,遂在下载过程中未出现任何坎坷,故不过多赘述。
在此附上参考教程https://blog.csdn.net/Mr_Bobcp/article/details/107342849
2.在Ubuntu环境中安装MySQL与Navicat
根据语雀上的指导安装了MySQL,但在安装Navicat的过程中遇到了不少坎坷。我最开始试图用Windows中的Navicat与虚拟机中的MySQL相连接,但无论怎么操作都未成功(哭)。
具体的操作有:1.修改权限,将root对应的localhost修改成%,使得任何主机皆可连接上此数据库。(未果)
2.Navicat for MySQL 1130错误解决方法。(试图追根溯源,根据报错解决问题,亦未果)附上链接https://www.formysql.com/wenti/cuowu-1130.html
3.解决Navicat for MySQL 1045错误的三种方法。(未果*3)附上链接https://www.formysql.com/wenti/jiejue-1045.html
4.等等操作,不再赘述。。。
后决定,采用在虚拟机内装载Navicat的传统方法,但也遇到了一些小问题:
A.下载完竟是这种形式
B.然后发现权限不够(sudo后还不够,是想让我把电脑给他吗???)
C.最后又采用浏览器授权了一波再算成功。(险些喜极而泣哈哈)
好啦,安装过程就到此结束啦~~~
3.在Navicat中创建于MySQL的连接
4.创建university数据库与表
在我的连接中单击连接名,再点击新建数据库,命名为university,故此数据库创建成功。
5.增删查改数据
批量增添/插入数据:在这里我们通常采用命令行的方式插入数据,由于批量插入数据在图形界面操作的话过于繁复。
查看数据库/表:
增添一条数据:例如向department表中添加数据(‘Software.Eng’, ‘Science Building’ , 999999);有两种方法,其一为在Navicat中手动添加一条数据,如下图
另一种方法为在命令行操作,如下图:
这时在命令行查询可见两条数据均添加成功:
删除一条数据:
更新一条数据:
单关系查询:生物学院开了哪些四学分的课?
多关系查询:春季学期开过课的老师分别叫什么?
分析:
春季学期涉及到section表格中的semester,以及teaches表中的semester;
可以观察到teaches表中有对应教师的ID;
同时,我们可以观察到在instructor表中有教师的ID与name;
综上,我们可以通过teaches与instructor两张表来实现这个问题的查询。
首先我们采用笛卡尔乘积的方式来筛查name:
这里我们来看第二种方式,通过ID这个属性来连接两张表,显然结果要优于笛卡尔乘积。
五、总结
本次实验主要时间花费在了数据库的安装与配置上,我本来试图安装openguass,奈何几次试验重装Navicat依旧连接不上;无奈退而求其次,选择MySQL的安装,整体来说还是非常顺利的。接下来的时间主要奉献给数据库的增删改查上,具体内容上面皆有详述,我就不过多赘述了。另在附录中记录了一些操作指令,以防日后遗忘。