一定要动手试一下,然后你就会发现,挺简单的。。。
导入一大堆包
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.*;
连接数据库需要的变量
Connection con = null;
//bc驱动
final String cfn="com.mysql.cj.jdbc.Driver";
final String url="jdbc:mysql://localhost:3306/hhh?&serverTimezone=UTC";///!!! hhh 表示数据库名称
String user="root"; /// 账户
String password="133456"; /// 密码
连接数据库
try {
//注册JDBC驱动程序
Class.forName(cfn);
//建立连接
con = DriverManager.getConnection(url, user, password);
if (!con.isClosed()) {
System.out.println("数据库连接成功");
}
} catch (ClassNotFoundException e) {
System.out.println("数据库驱动没有安装");
} catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库连接失败");
}
然后在try里面,你就可以对数据库进行操作啦
例如,现在有一个Student 表,包含学号,姓名年龄,你可以这样
插入
Statement statement = con.createStatement();
String sql1 = "INSERT INTO Student VALUES('004','wahaha','19');";
statement.execute(sql1);
对!!没错,就是用一个字符串写出SQL语言,然后利用 statement.execute() ,就可以对数据库执行该语句啦。
删除:
String sql2 = "DELETE FROM Student WHERE Sno = '004';";
statement.execute(sql2);
更新:
String sql3 = "UPDATE Course SET Ctime = 4 WHERE Cno = 'C003';";
statement.execute(sql3);
查询:
String tmp = "SELECT * FROM Student;";
ResultSet resultSet = statement.executeQuery(tmp);
==========> 注意,查询是有一点不一样的。
==========> 那么输出查询的东西,就可以这样
while (resultSet.next()){
String no = resultSet.getString("Sno");
String name = resultSet.getString("Sname");
String age = resultSet.getString("Sage");
System.out.println("Sno: " + no + ", Sname:"+name+", Sage:"+age);
}
resultSet.close(); /// 记得关掉
查询结果里面含有的变量,自然而然就是在 MySQL 中用此语句查询,出现的列名
查询带输入的东西
上面的都会了,那么这个自然也很简单。。。就是一个拼接字符串的问题。(稳一点,你也可以每一次都输出拼接完成后的字符串,检查一下是不是正确的SQL语句)
例如你要查询学号为001的成绩,
String look = cin.nextLine();
String sql5 = "SELECT AVG(Grade) FROM SC WHERE Sno = '" + look + "';";
ResultSet resultSet = statement.executeQuery(sql5);
然后输出,就ok了。。。。