课堂实践——数据库

课堂实践——数据库

实践一

  • 参考教材相关代码,提交能连接到world的截图(有学号水印),并提交代码的码云链接

我们应该掌握的

-老师基本上把代码都给我们了,我想应该是想让我们掌握调用数据库中的world.sql中的数据吧。
-在调用之前需要先打开数据库连接。然后在修改要执行的sql就好了: String sql = "SELECT * FROM city WHERE District= 'New Jersey'";
-[数据库常见的三种join方式](http://transcoder.tradaquan.com/from=844b/bd_page_type=1/ssid=fdba416c6f4e65534845f90c/uid=0/pu=sz%40320_1001%2Cta%40iphone_2_6.0_3_537%2Cusm%401/baiduid=5E09B8F0CBC05E1E7CB35E2CD1C6F938/w=0_10_/t=iphone/l=3/tc?ref=www_iphone&lid=11725088084500593325&order=1&fm=alhm&h5ad=1&srd=1&dict=32&tj=h5_mobile_1_0_10_title&w_qd=IlPT2AEptyoA_ykzqRAbxeqx2TXRLKig&sec=21730&di=d1bd35692bca2fc9&bdenc=1&tch=124.0.95.154.0.0&nsrc=IlPT2AEptyoA_yixCFOxXnANedT62v3IEQGG_ytK1DK6mlrte4viZQRAUDbwK8SMEICb9n00sqcIxXSf0W9i6so4g43&eqid=a2b7e17d9cd2b80010000003593fc5a3&wd=&clk_info={"srcid"%3A"1599"%2C"tplname"%3A"h5_mobile"%2C"t"%3A1497351596300%2C"sig"%3A"21356"%2C"xpath"%3A"div-a-h3"})

  • 代码如下
import static java.lang.System.out;
import java.sql.*;

public class ConnectionDemo {
    public static void main(String[] args)
            throws ClassNotFoundException, SQLException {
        Class.forName("com.mysql.jdbc.Driver");
        String jdbcUrl = "jdbc:mysql://localhost:3306/world";
        String user = "root";
        String passwd = "root";
        try (Connection conn =
                     DriverManager.getConnection(jdbcUrl, user, passwd)) {
            out.printf("已%s数据库连接%n",
                    conn.isClosed() ? "关闭" : "打开");
        }
    }
}

-截图如下

实践二

  • 参考教材代码完成下面的要求,提交能连接到world的截图(有学号水印),并提交代码的码云链接。
    查询world数据库,获得人口超过500万的所有城市的列表。
  • 代码如下
import static java.lang.System.out;
import java.sql.*;

public class PutString {
    public static void main(String[] args)
            throws ClassNotFoundException, SQLException {
        Class.forName("com.mysql.jdbc.Driver");
        String jdbcUrl = "jdbc:mysql://localhost:3306/world";
        String user = "root";
        String passwd = "root";
        try (Connection conn =
                     DriverManager.getConnection(jdbcUrl, user, passwd)) {
            out.printf("已%s数据库连接%n", conn.isClosed() ? "关闭" : "打开");

            Statement stmt = conn.createStatement(); //创建Statement对象
            String sql = "SELECT * FROM `city` WHERE Population>5000000";    //要执行的SQL
            ResultSet rs = stmt.executeQuery(sql);//创建数据对象
            System.out.println("ID" + "\t"+"\t" + "名字" +"\t"+ "\t" + "国家代号"+ "\t"+"\t" + "地区" + "\t"+"\t" + "人口数");
            int count = 0;
            while (rs.next()) {
                System.out.print(rs.getInt(1) + "\t"+"\t");
                System.out.print(rs.getString(2) + "\t"+"\t");
                System.out.print(rs.getString(3) + "\t"+"\t");
                System.out.print(rs.getString(4) + "\t"+"\t");
                System.out.print(rs.getString(5) + "\t"+"\t");
                System.out.println();
                count++;
            }
            if(rs.next());
            //System.out.println(rs.getString(1));
            System.out.printf("There are all %d answers",count);
            rs.close();
            stmt.close();
            conn.close();

        } catch (SQLException e) {
            e.printStackTrace();
        }

    }

  • 截图如下

实践三

  • 参考教材代码完成下面的要求,提交能连接到world的截图(有学号水印),并提交代码的码云链接。

查询world数据库,获得New Jessey州所有城市的总人口数。

  • 代码如下
只需改变这几行代码


 String sql = "SELECT * FROM `city` WHERE  District= 'New Jersey'";    //要执行的SQL
            ResultSet rs = stmt.executeQuery(sql);//创建数据对象
            System.out.println("ID" + "\t"+"\t" + "名字" +"\t"+ "\t" + "国家代号"+ "\t"+"\t" + "地区" + "\t"+"\t" + "人口数");
  • 截图如下

实验感想和问题

  • 感想:昨天在寝室将数据库弄好world.sql导入后,今天打开电脑做实验时显示找不到V9,需要下载安装,安装修复后还是不行,卸载重装后才能使用。在课堂上很尴尬,一只在修复这个东西。吸取教训,以后弄好后在检查一遍然后在关机休息。
  • 问题2

-在网上给出的解答
然后我手动在密码一行将密码输入,就解决了这个问题
-在准备做实验四的时候,发现数据库中没有相应的列

所以没有继续完成下去

实验总结感想

-大部分代码老师已给出,本次实验老师主要想让我们了解数据库。本次实验第一部分就不说了。
-第二部分和第三部分都是修改String sql = "SELECT * FROM city WHERE Population>5000000"; //要执行的SQL
-要执行的sql,修改成老师所要求的内容,在对相应代码进行小修改便可以了

posted @ 2017-06-07 12:35  20155329胡佩伦  阅读(446)  评论(1编辑  收藏  举报