使用MySql建立数据库stu,在库中建立表student,表中包含如下信息:学号,姓名,年龄,成绩。初始时为空表。要求编写一个Java程序DBdemo对表student做如下操作: 1)插入5条记录;各记录的学号,姓名,年龄,成绩分别如下: 20010203 王李 21 98.0 20010204 林秀 22 87.0 20010205 王华 20 9.0 20010206 林张 21 67.0 20010207 李白 20 57.0 2)找出成绩在70分以上的所有学生; 3)删除成绩为9分的学生 4)
时间: 2024-02-12 09:08:23 浏览: 128
数据库数据字典1
好的,我可以帮你解决这个问题。首先需要确保已经在本地安装了MySQL数据库,并且在Java项目中引入了MySQL驱动。下面是一个简单的实现:
```java
import java.sql.*;
public class DBdemo {
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/stu";
static final String USER = "root";
static final String PASS = "password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
// 注册 JDBC 驱动
Class.forName(JDBC_DRIVER);
// 打开链接
conn = DriverManager.getConnection(DB_URL,USER,PASS);
// 执行插入操作
stmt = conn.createStatement();
String sql = "INSERT INTO student (id, name, age, score) VALUES " +
"(20010203, '王李', 21, 98.0), " +
"(20010204, '林秀', 22, 87.0), " +
"(20010205, '王华', 20, 9.0), " +
"(20010206, '林张', 21, 67.0), " +
"(20010207, '李白', 20, 57.0)";
stmt.executeUpdate(sql);
// 执行查询操作
sql = "SELECT * FROM student WHERE score > 70";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
double score = rs.getDouble("score");
System.out.print("ID: " + id);
System.out.print(", Name: " + name);
System.out.print(", Age: " + age);
System.out.println(", Score: " + score);
}
// 执行删除操作
sql = "DELETE FROM student WHERE score = 9.0";
stmt.executeUpdate(sql);
// 关闭资源
rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
// 处理 JDBC 错误
se.printStackTrace();
}catch(Exception e){
// 处理 Class.forName 错误
e.printStackTrace();
}finally{
// 关闭资源
try{
if(stmt!=null) stmt.close();
}catch(SQLException se2){
}
try{
if(conn!=null) conn.close();
}catch(SQLException se){
se.printStackTrace();
}
}
}
}
```
运行该程序,会输出成绩在70分以上的所有学生的信息,以及删除成绩为9分的学生后的表中的信息。
阅读全文