请使用JDBC的方式完成下述要求: 1\在 "students" 表中插入一条记录,包含学生的姓名为 "Alice",年龄为 18,班级为 "A1"。 2\从 "students" 表中删除所有年龄小于 15 的学生记录。 3\更新 "students" 表中学生姓名为 "Bob" 的记录,将其年龄改为 20。 4\查询 "students" 表中所有年龄大于等于 18 的学生记录。 5\查询 "students" 表中所有班级为 "B2" 的学生记录。 6\从 "students" 表中删除姓名为 "
时间: 2023-08-29 10:05:23 浏览: 41
以下是使用 JDBC 完成要求的示例代码:
```java
import java.sql.*;
public class JDBCExample {
private static final String JDBC_URL = "jdbc:mysql://localhost:3306/test?user=root&password=root";
public static void main(String[] args) {
try {
Connection conn = DriverManager.getConnection(JDBC_URL);
// 插入一条记录
String insertSql = "INSERT INTO students (name, age, class) VALUES (?, ?, ?)";
PreparedStatement insertStmt = conn.prepareStatement(insertSql);
insertStmt.setString(1, "Alice");
insertStmt.setInt(2, 18);
insertStmt.setString(3, "A1");
insertStmt.executeUpdate();
System.out.println("插入记录成功");
// 删除年龄小于 15 的学生记录
String deleteSql = "DELETE FROM students WHERE age < ?";
PreparedStatement deleteStmt = conn.prepareStatement(deleteSql);
deleteStmt.setInt(1, 15);
int deleteCount = deleteStmt.executeUpdate();
System.out.println("删除了 " + deleteCount + " 条记录");
// 更新学生姓名为 "Bob" 的记录
String updateSql = "UPDATE students SET age = ? WHERE name = ?";
PreparedStatement updateStmt = conn.prepareStatement(updateSql);
updateStmt.setInt(1, 20);
updateStmt.setString(2, "Bob");
int updateCount = updateStmt.executeUpdate();
System.out.println("更新了 " + updateCount + " 条记录");
// 查询年龄大于等于 18 的学生记录
String querySql1 = "SELECT name, age, class FROM students WHERE age >= ?";
PreparedStatement queryStmt1 = conn.prepareStatement(querySql1);
queryStmt1.setInt(1, 18);
ResultSet rs1 = queryStmt1.executeQuery();
while (rs1.next()) {
String name = rs1.getString("name");
int age = rs1.getInt("age");
String clazz = rs1.getString("class");
System.out.println(name + ", " + age + ", " + clazz);
}
// 查询班级为 "B2" 的学生记录
String querySql2 = "SELECT name, age, class FROM students WHERE class = ?";
PreparedStatement queryStmt2 = conn.prepareStatement(querySql2);
queryStmt2.setString(1, "B2");
ResultSet rs2 = queryStmt2.executeQuery();
while (rs2.next()) {
String name = rs2.getString("name");
int age = rs2.getInt("age");
String clazz = rs2.getString("class");
System.out.println(name + ", " + age + ", " + clazz);
}
// 删除姓名为 "Tom" 的学生记录
String deleteSql2 = "DELETE FROM students WHERE name = ?";
PreparedStatement deleteStmt2 = conn.prepareStatement(deleteSql2);
deleteStmt2.setString(1, "Tom");
int deleteCount2 = deleteStmt2.executeUpdate();
System.out.println("删除了 " + deleteCount2 + " 条记录");
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
注意:上述代码中的表名、字段名、JDBC URL 等需要根据实际情况修改。同时还需要导入 MySQL JDBC 驱动。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)