数据库MySQL(课下作业)

一、作业要求

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

二、作业步骤

1.下载并导入world.sql

  • 下载附件后,在Navicat for MySQL中的你已建立的数据库右击,点击运行SQL文件

数据库MySQL(课下作业)

  • 点击这里,找到sql文件

数据库MySQL(课下作业)

  • 然后点击开始,再F5刷新一下,就成功导入sql文件了

数据库MySQL(课下作业)

2.编程查询城市

  • 使用where语句实现城市的筛选、查找

数据库MySQL(课下作业)

  • 查询成功截图

数据库MySQL(课下作业)

3.编程查询总人口

  • 依然使用where语句,设定地区为“中东”

数据库MySQL(课下作业)

  • 计算成功截图

数据库MySQL(课下作业)

数据库MySQL(课下作业)

4.编程查询国家

  • 使用order语句,将数据按“平均寿命”排序后,用rs.first()rs.last()rs.next()控制游标的方法找到最大、最小值

数据库MySQL(课下作业)

  • 核心代码
try {
sql=con.createStatement();
rs = sql.executeQuery(sqlStr);
String name1,name2;
rs.first(); //游标移动到第一行
float f=rs.getFloat(8);
while (f==0.0){
rs.next(); //如果数据为空,游标移动到下一行
f=rs.getFloat(8);
}
name1=rs.getString(2);
System.out.println("世界上的平均寿命最短的国家是:"+name1);
rs.last(); //游标移动到最后一行
name2=rs.getString(2);
System.out.println("世界上的平均寿命最长的国家是:"+name2);
con.close();
}
catch(SQLException e) {
System.out.println(e);
}
  • 结果截图

数据库MySQL(课下作业)

三、作业中的问题及解决

问题1:查询国家平均寿命时,存在空数据,在表的最前面,影响结果

数据库MySQL(课下作业)

数据库MySQL(课下作业)

解决1:使用while循环,判断数据是否为空,若是,则游标下移,直到数据不为空

数据库MySQL(课下作业)

数据库MySQL(课下作业)

问题2:使用制表符打印国家信息时,出现制表符被吃掉的问题

数据库MySQL(课下作业)

尚未解决:上网查阅、询问同学后还未解决,还在摸索中

四、码云链接

五、作业感想

  • 因为之前已经建立好了数据库连接,而且也有一些源代码,所以做起来还是比较顺手的,也使我对数据库的使用和一些语法的运用更加熟练,只是还存在一些小问题,我会继续努力的。
上一篇:Java中String的split()方法的一些疑问和试验


下一篇:Java中String的split()方法的一些需要注意的地方