20175221 曾祥杰 数据库MySQL(课下作业,必做)

时间:2023-12-14 11:18:26

数据库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. 编写程序,查询世界上的平均寿命最长和最短的国家

实现步骤:

第一部分:

  • 打开MySQL,在数据库名字上右击选择“运行SQL文件”,在弹出的对话框中选择导入路径
  • 20175221 曾祥杰 数据库MySQL(课下作业,必做)
  • 点击“开始”开始导入,导入成功截图如下
  • 20175221 曾祥杰 数据库MySQL(课下作业,必做)

第二部分:

  • 我的学号为:20175221,所以应该查询超过3017522的城市
  • 代码如下:
import java.sql.*;

public class City {
public static void main(String[] args) {
Connection con;
Statement sql;
ResultSet rs;
con = GetDBConnection.connectDB("world","root","zxja31415926");
if(con == null) {
return;
}
try {
sql=con.createStatement();
rs = sql.executeQuery("SELECT * FROM city where Population>3017522");
while (rs.next()) {
int ID = rs.getInt();
String Name = rs.getString();
String CountryCode = rs.getString();
String District = rs.getString();
int Population =rs.getInt();
if(Population>) {
System.out.printf("%d\t", ID);
System.out.printf("%s\t", Name);
System.out.printf("%s\t", CountryCode);
System.out.printf("%s\t", District);
System.out.printf("%d\n", Population);
}
}
con.close();
}
catch (SQLException e) {
System.out.println(e);
}
}
}
  • 关键语句: rs = sql.executeQuery("SELECT * FROM city where Population>3017522");
  • 测试截图
  • 20175221 曾祥杰 数据库MySQL(课下作业,必做)

第三部分:

  • 代码如下:
import java.sql.*;

public class Population {
public static void main(String[] args) {
Connection con;
Statement sql;
ResultSet rs;
con = GetDBConnection.connectDB("world","root","zxja31415926");
if(con == null) {
return;
}
String sqlStr = "select * from country where Region = 'Middle East'";
try {
sql = con.createStatement();
rs = sql.executeQuery(sqlStr);
long totalpopulation = ;
while(rs.next()) {
int Population = rs.getInt();
totalpopulation +=Population;
}
System.out.println("中东国家的总人口为:"+totalpopulation);
con.close();
}
catch (SQLException e) {
System.out.println(e);
}
}
}
  • 测试截图:
  • 20175221 曾祥杰 数据库MySQL(课下作业,必做)

第四部分:

  • 代码如下:
  • import java.sql.*;
    
    public class Life {
    public static void main(String[] args) {
    Connection con;
    Statement sql;
    ResultSet rs;
    con = GetDBConnection.connectDB("world","root","zxja31415926");
    if(con == null) {
    return;
    }
    String sqlStr = "select * from country order by LifeExpectancy";
    try {
    sql = con.createStatement();
    rs = sql.executeQuery(sqlStr);
    rs.first();
    String highcountry,lowcountry;
    float number1 = rs.getInt();
    while(number1 == ) {
    rs.next();
    number1 = rs.getInt();
    }
    lowcountry = rs.getString();
    System.out.println("世界上平均寿命最短的国家为:"+lowcountry+" 寿命为"+number1);
    rs.last();
    float number2 = rs.getInt();
    highcountry = rs.getString();
    System.out.println("世界上平均寿命最长的国家为:"+highcountry+" 寿命为"+number2);
    con.close();
    }
    catch (SQLException e) {
    System.out.println(e);
    }
    }
    }
  • 测试截图:
  • 20175221 曾祥杰 数据库MySQL(课下作业,必做)
  • 码云链接

  • 心得体会:

  • 这次的学习内容,其实相当于是对上周学习数据库的一次简单检测,整体来说难度不大,设计思路大同小异,模仿着课本做就差不多出来了。