课堂实践——数据库
课堂实践——数据库
实践一
- 参考教材相关代码,提交能连接到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,修改成老师所要求的内容,在对相应代码进行小修改便可以了