用mysql在本地创建一张表名为:student_info,表中存储五名学生的信息,有序号/姓名/学号/班级/更新时间字段。随后创建一个java文件,对表中信息进行插入/删除/查询/更新操作。
时间: 2023-08-04 14:30:57 浏览: 108
可以在文件里面存储学生信息,可以建立并删除学生成绩,可以按班级查询学生成绩.zip
好的,我可以为你提供相应的帮助。
首先,我们需要在本地安装 MySQL 数据库,并创建名为 `student_info` 的数据库。在该数据库中创建一个名为 `student` 的表,包含以下字段:
- `id`:自增长的整数类型,作为学生的唯一标识符;
- `name`:字符串类型,表示学生的姓名;
- `student_id`:字符串类型,表示学生的学号;
- `class`:字符串类型,表示学生所在的班级;
- `update_time`:日期时间类型,表示学生信息的最后更新时间。
可以使用以下 SQL 语句来创建该表:
```sql
CREATE TABLE student_info.student (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
student_id VARCHAR(20) NOT NULL,
class VARCHAR(20) NOT NULL,
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);
```
然后,我们可以使用 Java 语言中的 JDBC 技术来连接数据库,并对表中的数据进行增删改查操作。以下是一个简单的示例程序:
```java
import java.sql.*;
public class StudentInfo {
private static final String DB_URL = "jdbc:mysql://localhost/student_info";
private static final String DB_USER = "root";
private static final String DB_PASSWORD = "123456";
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
// 插入数据
insertStudent(conn, "张三", "1001", "1班");
insertStudent(conn, "李四", "1002", "2班");
insertStudent(conn, "王五", "1003", "3班");
insertStudent(conn, "赵六", "1004", "4班");
insertStudent(conn, "钱七", "1005", "5班");
// 查询数据
System.out.println("查询所有学生信息:");
queryStudent(conn);
// 更新数据
updateStudent(conn, 3, "王五", "1003", "4班");
// 删除数据
deleteStudent(conn, 5);
conn.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
private static void insertStudent(Connection conn, String name, String studentId, String clazz) throws SQLException {
String sql = "INSERT INTO student (name, student_id, class) VALUES (?, ?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setString(2, studentId);
pstmt.setString(3, clazz);
pstmt.executeUpdate();
}
private static void queryStudent(Connection conn) throws SQLException {
String sql = "SELECT id, name, student_id, class, update_time FROM student";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String studentId = rs.getString("student_id");
String clazz = rs.getString("class");
String updateTime = rs.getString("update_time");
System.out.println(id + "\t" + name + "\t" + studentId + "\t" + clazz + "\t" + updateTime);
}
}
private static void updateStudent(Connection conn, int id, String name, String studentId, String clazz) throws SQLException {
String sql = "UPDATE student SET name=?, student_id=?, class=? WHERE id=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setString(2, studentId);
pstmt.setString(3, clazz);
pstmt.setInt(4, id);
pstmt.executeUpdate();
}
private static void deleteStudent(Connection conn, int id) throws SQLException {
String sql = "DELETE FROM student WHERE id=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
pstmt.executeUpdate();
}
}
```
在这个示例程序中,我们使用 `PreparedStatement` 对象来执行 SQL 语句,以避免 SQL 注入攻击。通过执行不同的方法,我们可以对数据库中的学生信息进行插入、删除、查询、更新等操作。
阅读全文