基本表的数据操作

实验内容、步骤以及结果

1. 针对SPJ_MNG数据库和Student数据库,用SQL语句插入实验一中所列的示例数据。(5分)

     具体步骤:使用insert into 语句按照语法要求逐条插入语句

     依照同样的方法,逐个给每个数据表中都添加需要的数据.最后,结果为:

运行结果:如图所示,是添加所有信息后,展示的表信息.

对于SPJ_MNG表的展示如下:

2.针对Student数据库,在图形用户界面中对表中的数据进行更新。(5分)

具体步骤:

右击对应的数据表,点击打开数据表,然后再下方的数据展示框中对应修改即可.

运行结果:删除数据后,对应的表为:

重新增加后,数据情况为:

3.针对SPJ_MNG数据库,用SQL语句完成下面的数据更新。(10分)

具体步骤:在命令行中使用语句USE SPJ_MNG;

UPDATE P SET COLOR='蓝' WHERE COLOR='红';来更改.

运行结果:

(2). 使用如下语句进行更新:

更新结果如下:

(3). 使用delete语句删除相关数据.具体如下,并展示了删除后的表情况.

同样,在spj表中删除相关数据后,得到结果如下:

(4).使用insert into语句插入,具体如下.

4. 针对SPJ_MNG数据库,用SQL语句完成下面的数据查询。(50分)

1. 找出所有供应商的姓名和所在城市。

2. 求供应工程J1零件P1的供应商号码。

3.找出使用供应商S1或者S2所供应零件的工程号码。

4. 求供应工程J1零件为红色的供应商号码。

       注: 题目三已经将红色改为蓝色,故没有结果.

5. 查询每个供应商号码以及其供应零件的总个数。

6.求每个供应商号码,供应商名以及所供应零件的种类数量。

7.找出使用上海供应商的零件的工程名称。

8.求没有使用天津供应商生产的红色零件的工程号码。

9.求至少使用了供应商S1所供应的全部零件的工程号。

10.查询这样的工程:供给该工程的零件P1的平均供应量大于供给工程J1的任何一种零件的最大供应量。

5.针对Student数据库用SQL语句完成下面的数据查询。(10分)

      1. 查询每个学生已经获得的学分的总分(成绩及格表示获得该门课的学分),并按照所获学分由高到低的顺序输出学号,姓名,所获学分。

      1. 1. 查询这样的学生姓名:该学生选修了全部课程并且其中一门课在90分以上。

  1. 针对Student数据库用至少三种不同的SQL语句进行查询:查询选修了课程名为“数据库”的学生学号和姓名,然后自己设计实验,用数据比较分析三种查询的效率,并分析原因。(20分)//如何创建大量的数据库,如何自己测试

具体步骤:

使用 profiles系统变量让系统记录语句执行时间, 多次执行从而达到分析的目的.

1.首先打开profiles 系统变量;

2.开始分别执行三种语句:

3.使用show profiles 查看语句的执行时间:

可以看到,三条语句的执行时间都显示了出来. 重复执行三次,得到执行时间如图,计算平均时间:

平均时间:

   方法1:0.00052503

   方法2:0.00048233

   方法3:0.00067900

故可以得到结果:方法二运行效率最高.

  • 实验中出现的问题以及解决方案(对于未解决问题请将问题列出来)

       最开始对mysql的语法并不熟悉, 比如出现group by语句出错可能是将order by 放在了其前面; 出现哪个变量是ambiguouts 可能是没有定义在哪个表中的属性等 .我总是要频繁查询参考文件才能继续实验, 后来自己逐条总结了数据库查询每个子语句的使用方法和注意事项, 为自己的实验打下基础.

       实验中,怎么分析语句运行效率一开始并不了解, 通过大量的上网查询, 得到一种简单的方法,即,打开系统profiles 变量,让系统自己计时,最后只要分析即可.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值