请你用java完成实验, 数据库综合应用 实验目的:了解数据库系统、关系模型、客户-服务器模式等基本概念,掌握SQL的数据定义、数据操纵和数据查询等语句的语法;了解JDBC各种数据库驱动程序类型,熟悉JDBC提供的接口和类,掌握指定驱动类型、连接数据库、执行SQL语句、处理结果集等操作方法。 实验内容: 数据库应用程序 1)首先在数据库应用程序中创建数据库Studentinfo,按照下表的结构在数据库中建立"student"表。 字段名 Java数据类型 宽度 SQL数据类型 ID String 10 Char(10) Name String 10 Char(10) Sex String 2 Char(2) Birthday MyDate Date Score int 3 Integer 2)编写程序,a) 向"student"表中填入若干数据记录;b)在"student"表中分别查询所有记录以及满足条件"age>18"的记录。c)编程创建学生成绩表,并进行数据插入、修改、删除、查询和成绩统计等操作。 注:不限定数据库类型,
时间: 2023-06-03 13:04:14 浏览: 185
可以使用MySQL、Oracle、SQL Server等。以下是伪代码示例:
//加载数据库驱动程序
Class.forName(driver);
//连接数据库
Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
//创建statement对象
Statement stmt = conn.createStatement();
//创建数据库
String createDB = "CREATE DATABASE Studentinfo";
stmt.executeUpdate(createDB);
//选择数据库
String useDB = "USE Studentinfo";
stmt.executeUpdate(useDB);
//创建student表
String createTable = "CREATE TABLE student(ID CHAR(10) PRIMARY KEY,Name CHAR(10),Sex CHAR(2),Birthday DATE,Score INT)";
stmt.executeUpdate(createTable);
//插入数据
String insertData = "INSERT INTO student VALUES('001','Tom','M','2000-01-01',80),('002','Jane','F','2001-02-02',90)";
stmt.executeUpdate(insertData);
//查询所有记录
String selectAll = "SELECT * FROM student";
ResultSet rs1 = stmt.executeQuery(selectAll);
while(rs1.next()){
//输出数据
System.out.println(rs1.getString("ID")+" "+rs1.getString("Name")+" "+rs1.getString("Sex")+" "+rs1.getDate("Birthday")+" "+rs1.getInt("Score"));
}
//按条件查询记录
String selectByAge = "SELECT * FROM student WHERE TIMESTAMPDIFF(YEAR,Birthday,CURDATE())>18";
ResultSet rs2 = stmt.executeQuery(selectByAge);
while(rs2.next()){
//输出数据
System.out.println(rs2.getString("ID")+" "+rs2.getString("Name")+" "+rs2.getString("Sex")+" "+rs2.getDate("Birthday")+" "+rs2.getInt("Score"));
}
//创建成绩表
String createScoreTable = "CREATE TABLE score(ID CHAR(10),Course CHAR(10),Score INT)";
stmt.executeUpdate(createScoreTable);
//插入数据
String insertScoreData = "INSERT INTO Score VALUES('001','Math',80),('001','English',90)";
stmt.executeUpdate(insertScoreData);
//修改数据
String updateScoreData = "UPDATE Score SET Score=85 WHERE Course='Math' AND ID='001'";
stmt.executeUpdate(updateScoreData);
//删除数据
String deleteScoreData = "DELETE FROM Score WHERE Course='English' AND Score<80";
stmt.executeUpdate(deleteScoreData);
//查询数据并进行成绩统计
String selectScoreData = "SELECT AVG(Score) AS AvgScore FROM Score WHERE ID='001'";
ResultSet rs3 = stmt.executeQuery(selectScoreData);
while(rs3.next()){
//输出数据
System.out.println("平均成绩为:"+rs3.getInt("AvgScore"));
}
//关闭连接
rs1.close();
rs2.close();
rs3.close();
stmt.close();
conn.close();
阅读全文