使用Derby数据库或者其它数据库,在数据库中,设计一张表,包括学号、姓名、年龄、班级等信息。使用Java编程,连接该数据库,写入、读出、修改、查询学生信息。
时间: 2024-01-29 19:02:48 浏览: 26
当然,我可以帮你设计一个包含学号、姓名、年龄和班级信息的表,并提供Java代码来连接该数据库、插入、读取、更新和查询学生信息。以下是一个示例:
首先,我们需要创建一个名为"students"的表,包四个列:id(学号)、name(姓名)、age(年龄)和class(班级)。可以使用以下SQL语句在Derby数据库中该表:
```sql
CREATE TABLE (
id INT PRIMARY KEY,
name(255),
age INT,
class VARCHAR255)
);
```
接下来,我们可以使用编程来连接数据库,并执行相的操作。请确保已经下载并装了Derby数据库,并将其添加到项目的依赖中。
```java
import java.sql.*;
public class StudentDatabase {
// JDBC连接URL
private static final String DB_URL = "jdbc:derby:sampleDB;create=true";
// 数据库用户名和密码
private static final String USER = "user";
private static final String PASS = "password";
public static void main(String[] args) {
try {
// 连接数据库
Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);
// 创建表
createTable(conn);
// 插入学生信息
insertStudent(conn, 1, "John", 20, "Class A");
insertStudent(conn, 2, "Mary", 21, "Class B");
// 读取学生信息
readStudents(conn);
// 修改学生信息
updateStudent(conn, 1, "John Doe", 21);
// 查询学生信息
queryStudent(conn, 2);
// 关闭数据库连接
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 创建学生表
private static void createTable(Connection conn) throws SQLException {
Statement stmt = conn.createStatement();
String sql = "CREATE TABLE students (id INT PRIMARY KEY, name VARCHAR(255), age INT, class VARCHAR(255))";
stmt.execute(sql);
stmt.close();
}
// 插入学生信息
private static void insertStudent(Connection conn, int id, String name, int age, String className) throws SQLException {
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO students VALUES (?, ?, ?, ?)");
pstmt.setInt(1, id);
pstmt.setString(2, name);
pstmt.setInt(3, age);
pstmt.setString(4, className);
pstmt.executeUpdate();
pstmt.close();
}
// 读取学生信息
private static void readStudents(Connection conn) throws SQLException {
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM students";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String className = rs.getString("class");
System.out.println("ID: " + id + ", Name: " + name + ", Age: " + age + ", Class: " + className);
}
rs.close();
stmt.close();
}
// 修改学生信息
private static void updateStudent(Connection conn, int id, String newName, int newAge) throws SQLException {
PreparedStatement pstmt = conn.prepareStatement("UPDATE students SET name = ?, age = ? WHERE id = ?");
pstmt.setString(1, newName);
pstmt.setInt(2, newAge);
pstmt.setInt(3, id);
pstmt.executeUpdate();
pstmt.close();
}
// 查询学生信息
private static void queryStudent(Connection conn, int id) throws SQLException {
PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM students WHERE id = ?");
pstmt.setInt(1, id);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
String name = rs.getString("name");
int age = rs.getInt("age");
String className = rs.getString("class");
System.out.println("Name: " + name + ", Age: " + age + ", Class: " + className);
} else {
System.out.println("Student with ID " + id + " not found.");
}
rs.close();
pstmt.close();
}
}
```
上述代码示例了如何创建表、插入学生信息、读取学生信息、修改学生信息和查询学生信息。你可以根据需要进行修改和扩展。
请注意,上述代码仅供参考,请根据你的实际情况进行适当的调整和错误处理。希望能对你有所帮助!
阅读全文