题目:
1.创建一个数据库(学号+姓名缩写,如: 2020001zs)在数据库中创建一张表 (五个以上字段) ;
2.使用JDBC(使用PreparedStatement接口) 操作数据库对表中的数据进行增删改查操作
目录
一、数据库
1.创建数据库
2.创建表
3.添加数据
二、JDBC
1.准备环境
2.查询数据
3.添加数据
4.删除数据
5.修改数据
一、数据库
1.创建数据库
2.创建表
题目说:数据库中创建一张表(五个以上字段),咋们就弄5个
drop table if exists student_course;
create table student_course
(
course_id varchar(10) comment '课程号',
course_name varchar(15) comment '课程名',
course_number double unsigned comment '学分数',
student_time int unsigned comment '学时数',
teacher varchar(10) comment '任课教师'
)
comment '课程表';
select *
from student_course;
3.添加数据
INSERT INTO student_course
values ('K001', '计算机图形学', 2.5, 40, '胡晶晶'),
('K002', '计算机应用基础', 3, 48, '任泉'),
('K006', '数据结构', 4, 64, '马跃先'),
('M001', '政治经济学', 4, 64, '孔繁新'),
('S001', '高等数学', 3, 48, '赵晓尘');
select *
from student_course;
二、JDBC
1.准备环境
点击进入mysql jar包下载官网
MySQL如果是5版本:
我的mysql是8版本,所以下载这个:
解压:
2.查询数据
5.x版本的驱动文件jar包对应的是:
Class.forName("com.mysql.jdbc.Driver");
语句来加载数据库驱动
而我使用的是8.0x版本的数据库驱动文件,对此,需要将加载数据库驱动的语句更改为:
Class.forName("com.mysql.cj.jdbc.Driver");
import java.sql.*;
public class Main {
public static void main(String[] args) throws Exception {
PreparedStatement ps = null;
Connection con = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/20202122084tsj?serverTimezone=GMT%2B8", "root", "root");
String sql = "select * from student_course;";
ps = con.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
System.out.println("编号:" + rs.getString(1) + "\t" + "课程名:" + rs.getString(2) + "\t" + "学分数:" + rs.getString(3) + "\t" + "学时数:" + rs.getString(4) + "\t" + "任课教师:" + rs.getString(5));
}
rs.close();
ps.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
3.添加数据
import java.sql.*;
public class InsertData {
public static void main(String[] args) {
Connection con = null;
PreparedStatement ps = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/20202122084tsj?serverTimezone=GMT%2B8", "root", "root");
String sql = "INSERT INTO student_course values(?,?,?,?,?);";
ps = con.prepareStatement(sql);
ps.setString(1, "K111");
ps.setString(2, "javaWeb");
ps.setDouble(3, 3);
ps.setInt(4, 48);
ps.setString(5, "丁老师");
ps.execute();
ps.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
4.删除数据
import java.sql.*;
public class DeleteData {
public static void main(String[] args){
Connection con = null;
PreparedStatement ps = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/20202122084tsj?serverTimezone=GMT%2B8", "root", "root");
String sql = "delete from student_course where course_id = ?;";
ps = con.prepareStatement(sql);
ps.setString(1,"K111");
ps.execute();
ps.close();
con.close();
}catch (Exception e){
e.printStackTrace();
}
}
}
之前添加的数据被删除了
5.修改数据
import java.sql.*;
public class UpdateData {
public static void main(String[] ags){
Connection con = null;
PreparedStatement ps = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/20202122084tsj?serverTimezone=GMT%2B8", "root", "root");
String sql = "update student_course set course_name = ?,teacher = ? where course_id = ?;";
ps = con.prepareStatement(sql);
ps.setString(1,"SpringCloud");
ps.setString(2,"王老师");
ps.setString(3,"S001");
ps.execute();
ps.close();
con.close();
}catch (Exception e){
e.printStackTrace();
}
}
}
代码冗余严重,之后会有工具类简化