学号20175313 《数据库MySQL(课下作业,必做)》第十周

一、题目要求

  1. 下载附件中的world.sql.zip, 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECDB,导入world.sql,提交导入成功截图
  2. 编写程序,查询世界上超过“你学号前边七位并把最后一位家到最高位,最高位为0时置1”(比如学号20165201,超过3016520;学号20165208,超过1016520)的所有城市列表,提交运行结果截图
  3. 编写程序,查询世界上的所有中东国家的总人口
  4. 编写程序,查询世界上的平均寿命最长和最短的国家

二、需求分析

  • 任务二

    • 比较说明需要用到where 子语句,保证查询的字段值在某个区间内。
    • 5017531(我的学号前七位并把最后一位加到最高位),比5017531大的输出。
  • 任务三

    • 中东国家说明需要用到where子语句实现字段值和固定值比较。
    • 总人口说明需要进行累加。
  • 任务四

    • 最长最短显而易见的需要对查询内容进行排序(默认升序排列)。
    • 最长说明在结果集的最后一行
    • 最短说明在结果集的第一行

三、关键代码以及运行结果截图

任务一

任务二

rs = sql.executeQuery("SELECT * FROM city where Population>5017531");

  • 运行结果截图:

任务三

rs = sql.executeQuery("SELECT * FROM country where Region='Middle East'");

sum=sum+rs.getInt(7);

  • 运行结果截图:

任务四

rs = sql.executeQuery("SELECT * FROM country where LifeExpectancy!=0 order by LifeExpectancy");

rs.first();

rs.last();

  • 说明:有些国家的平均寿命值为null,如果对全表进行的话,输出的最短平均寿命为0。所以应该排除这些平均寿命值为null的,然后再进行排序,这样排好序后的第一行就是平均寿命最短的,最后一行就是平均寿命最长的。
  • 运行结果截图:

四、代码实现过程中遇到的问题及其解决方法

  • 问题:出现编译通过,运行的返回值也是正常,但是没有输出结果。
  • 解决方法:发现没有配置驱动。

五、码云链接

六、心得体会

  • 其实这道题目并不难,只要看过十一章的代码,做这道题应该来说是很简单的。
  • 这正应证了老师说过的话,就看你想不想学的,小学生都会的东西,你要想学还学不会吗?主要就是一个态度问题。

猜你喜欢

转载自www.cnblogs.com/xiannvyeye/p/10798464.html