创建一学生数据库Student,创建一表studb,包含字段:学号、姓名、性别、电话号码、生日、班级名字。编写java程序对studb表进行学生信息的增、删、改、查操作。
时间: 2023-09-17 07:07:41 浏览: 403
创建学生数据库系统(课程表,学生,sc)的建立
5星 · 资源好评率100%
好的,以下是创建学生数据库Student、表studb以及增删改查操作的Java程序实现:
```java
import java.sql.*;
import java.util.Scanner;
public class StudentDatabase {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
// 1.连接到数据库
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/Student?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
String user = "root";
String password = "root";
conn = DriverManager.getConnection(url, user, password);
// 2.创建表
stmt = conn.createStatement();
String sql = "CREATE TABLE IF NOT EXISTS studb (" +
"id INT(11) NOT NULL AUTO_INCREMENT," +
"name VARCHAR(20) NOT NULL," +
"gender CHAR(1) NOT NULL," +
"phone VARCHAR(20) NOT NULL," +
"birthday DATE NOT NULL," +
"class_name VARCHAR(20) NOT NULL," +
"PRIMARY KEY (id)" +
")";
stmt.executeUpdate(sql);
// 3.增删改查操作
Scanner input = new Scanner(System.in);
while (true) {
System.out.println("请选择操作:\n1.添加学生信息\n2.删除学生信息\n3.修改学生信息\n4.查询学生信息\n5.退出");
int choice = input.nextInt();
switch (choice) {
case 1:
System.out.println("请输入学生姓名:");
String name = input.next();
System.out.println("请输入学生性别(男/女):");
String gender = input.next();
System.out.println("请输入学生电话号码:");
String phone = input.next();
System.out.println("请输入学生生日(格式为yyyy-MM-dd):");
String birthday = input.next();
System.out.println("请输入学生班级名字:");
String className = input.next();
sql = String.format("INSERT INTO studb (name, gender, phone, birthday, class_name) VALUES ('%s', '%s', '%s', '%s', '%s')", name, gender, phone, birthday, className);
stmt.executeUpdate(sql);
System.out.println("添加成功!");
break;
case 2:
System.out.println("请输入要删除的学生学号:");
int id = input.nextInt();
sql = String.format("DELETE FROM studb WHERE id = %d", id);
stmt.executeUpdate(sql);
System.out.println("删除成功!");
break;
case 3:
System.out.println("请输入要修改的学生学号:");
id = input.nextInt();
System.out.println("请输入学生姓名:");
name = input.next();
System.out.println("请输入学生性别(男/女):");
gender = input.next();
System.out.println("请输入学生电话号码:");
phone = input.next();
System.out.println("请输入学生生日(格式为yyyy-MM-dd):");
birthday = input.next();
System.out.println("请输入学生班级名字:");
className = input.next();
sql = String.format("UPDATE studb SET name = '%s', gender = '%s', phone = '%s', birthday = '%s', class_name = '%s' WHERE id = %d", name, gender, phone, birthday, className, id);
stmt.executeUpdate(sql);
System.out.println("修改成功!");
break;
case 4:
System.out.println("请输入要查询的学生学号:");
id = input.nextInt();
sql = String.format("SELECT * FROM studb WHERE id = %d", id);
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()) {
System.out.printf("%d\t%s\t%s\t%s\t%s\t%s\n", rs.getInt("id"), rs.getString("name"), rs.getString("gender"), rs.getString("phone"), rs.getString("birthday"), rs.getString("class_name"));
} else {
System.out.println("无此学生信息!");
}
break;
case 5:
System.out.println("已退出!");
System.exit(0);
default:
System.out.println("输入有误,请重新输入!");
}
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
try {
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
```
运行该程序后,可以按照提示进行增删改查操作,具体操作如下:
- 添加学生信息:输入学生姓名、性别、电话号码、生日、班级名字,程序将自动将其插入到studb表中。
- 删除学生信息:输入要删除的学生学号,程序将自动删除该学生在studb表中的信息。
- 修改学生信息:输入要修改的学生学号,以及要修改的学生姓名、性别、电话号码、生日、班级名字,程序将自动将其更新到studb表中。
- 查询学生信息:输入要查询的学生学号,程序将自动从studb表中查找对应的学生信息并打印出来。
- 退出:输入5后,程序将自动退出。
注意:该程序需要连接到MySQL数据库,因此需要安装MySQL并创建一个名为Student的数据库。程序中的url、user、password等参数需要根据实际情况进行修改。
阅读全文