版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41690324/article/details/82857329
首先,我的表为
1.查询女性,成绩80以上的学生数量
package demoooo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/*
* 查询女性,成绩80以上的学生数量
*/
public class StudentDemo {
public static void main(String[] args) throws ClassNotFoundException,
SQLException {
// 为了练习都所以写了出来
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/stab", "root", "root");
PreparedStatement pst = con
.prepareStatement("SELECT * FROM `student`;");
ResultSet rs = pst.executeQuery();
// 定义用来检测数量的指针
int index = 0;
while (rs.next()) {
if (rs.getString("sex").equals("女") && rs.getInt("score") > 80) {
index++;
}
}
System.out.println("女性,成绩80以上的学生数量为"+index);
}
}
输出结果:
女性,成绩80以上的学生数量为0
2.将姓周的男同学的的成绩改为100
package demoooo;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import JDBCUtils.Utils;
/*
* 将姓周的男同学的的成绩改为100
*/
public class demo2 {
public static void main(String[] args) throws SQLException {
// 直接调用我写的工具类了
Connection con = Utils.getConnection();
Statement stat = con.createStatement();
// 返回受到影响的行数
int row = stat.executeUpdate("update student set score=100 where id=3");
System.out.println(row);
}
}
输出结果:
1
3.查询成绩大于60的女性,显示姓名,成绩
package demoooo;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import JDBCUtils.Utils;
/*
* 查询成绩大于60的女性,显示姓名,成绩
*/
public class Demo3 {
public static void main(String[] args) throws SQLException {
Connection con = Utils.getConnection();
PreparedStatement pst = con
.prepareStatement("SELECT * FROM `student`;");
ResultSet rs = pst.executeQuery();
while (rs.next()) {
if (rs.getInt("score") > 60 && rs.getString("sex").equals("女")) {
System.out.println("姓名:" + rs.getString("name") + " 成绩:"
+ rs.getInt("score"));
}
}
}
}
输出结果:
姓名:李少荣 成绩:80
姓名:张秀花 成绩:68
4.分别统计所有男同学的平均分,所有女同学的平均分及总平均分
package demoooo;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import JDBCUtils.Utils;
/*
* 分别统计所有男同学的平均分,所有女同学的平均分及总平均分
*/
public class Demo4 {
public static void main(String[] args) throws SQLException {
Connection con = Utils.getConnection();
PreparedStatement pst = con
.prepareStatement("SELECT * FROM `student`;");
ResultSet rs = pst.executeQuery();
int boyavg = 0, grilavg = 0, avg = 0;
while (rs.next()) {
if (rs.getString("sex").equals("男")) {
boyavg = rs.getInt("score") + boyavg;
}
if (rs.getString("sex").equals("女")) {
grilavg = rs.getInt("score") + grilavg;
}
avg = rs.getInt("score") + avg;
}
System.out.println("男同学平均分:" + boyavg / 3);
System.out.println("女同学平均分:" + grilavg / 4);
System.out.println("所有同学平均分:" + avg / 7);
}
}
输出结果:
男同学平均分:69
女同学平均分:63
所有同学平均分:65