MySQL语句学习第四篇_数据库
通过intellij IDE连接MySQL数据库使用JDBC来实现增删查改专栏记录MySQL的学习,感谢大家观看。
本章的专栏📚➡️MySQL语法学习
本博客前一章节指向➡️MySQL语句学习第三篇
本人的博客➡️:如烟花般绚烂却又稍纵即逝的主页
JDBC的概念
- JDBC是什么?
Java DataBase Connectivity Java用来访问关系型数据库的API((Application Programming Interface 即应用程序编程接口)。
JDBC驱动使得java与其数据库之间形成交换,java通过调用JDBC驱动的方法来进行数据库下的一系列操作,MYSQL ORACLE等…每一个数据库有不同的JDBC驱动,可以去数据库官网查看并下载安装使用。
当驱动下载后,导入到我们当前需要编写代码的一个路径下,并标记为库提供java方法来使用,实现最终的数据库连接等一系列操作。
访问并建立数据库连接
如果上述步骤完成后,可以成功引用MysqlDataSource,这时可以与MySQL的服务器进行连接。
这里注意的服务器用户名和密码是mysql中的默认用户名和登陆mysql的密码。
//建立数据库连接
public static Connection getConnection() throws SQLException {
DataSource dataSource=new MysqlDataSource();
//设置服务器位置
((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/class?characterEncoding=utf8&useSSL=false");
//默认的用户名
((MysqlDataSource) dataSource).setUser("root");
//你的数据库密码
((MysqlDataSource) dataSource).setPassword("1234");
//建立与数据库的连接
return (Connection) dataSource.getConnection();
}
查询Mysql中数据
1.这里调用连接好服务器的方法,通过sql语句来预编译。
2.然后执行后产生一个结果集(excuteQuery)进行接收。
3.这里需要对结果集进行遍历拿到结果集的每一行数据,如果结果集为false,则跳出循环.
4.最后释放掉所有资源,先进后出,从最后的资源开始逐个释放。
public static void select() throws SQLException {
//接收建立好的数据库
java.sql.Connection connection=getConnection();
//使用sql语句来进行查询
String sql="select *from student";
PreparedStatement statement = connection.prepareStatement(sql);
//这里是一个结果集,点进去查看接收类型
ResultSet resultSet = statement.executeQuery();
//遍历这个结果集直接遍历为false
while(resultSet.next()){
int id=resultSet.getInt("id");//mysql中的列名
String name=resultSet.getString("name");//mysql中的列明
System.out.println("id:"+id+" "+"name:"+name);
}
//释放资源
resultSet.close();
statement.close();
connection.close();
}
增加MySQL中的数据
1.调用连接数据库方法。
2.引用sql语句并使用字符串进行接收。
3.预编译sql语句。这里的?作为占位符,最后将其使用即可。
4.后续执行完成后释放。
//新增
public static void insert(int id,String name) throws SQLException {
Connection connection=getConnection();
String sql="insert into student values(?,?)";//sql语句
PreparedStatement statement = connection.prepareStatement(sql);
//这里将第一个?替换为id第二个?替换为name
statement.setInt(1,id);
statement.setString(2,name);
//接收一下执行最终更新行数
int n = statement.executeUpdate();
System.out.println("Query OK,"+n+" row affected");
//释放资源
statement.close();
connection.close();
}
删除MySQL中的数据
这里我在方法中引用了Scanner来对指定的列名进行行之间的删除,sql语句更改,其他操作不变。
//删除
public static void delete() throws SQLException {
//这里的id是要选择删除的id
Scanner scanner=new Scanner(System.in);
int id=scanner.nextInt();
Connection connection=getConnection();
String sql="delete from student where id=?";//sql语句
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1,id);
//接收一下执行最终更新行数
int n = statement.executeUpdate();
System.out.println("Query OK,"+n+" row affected");
//释放资源
statement.close();
connection.close();
}
更新MySQL中的数据
1.需要更改的sql语句。
2.指定修改的区间范围或者指定的内容。
3.释放资源
//更新
public static void update(int id,String name) throws SQLException {
//这里的id是要选择删除的id
Scanner scanner=new Scanner(System.in);
int modify=scanner.nextInt();
Connection connection=getConnection();
String sql="update student set id=?,name=? where id=? ";//sql语句
PreparedStatement statement = connection.prepareStatement(sql);
//三个问号按顺序计算数量
statement.setInt(1,id);
statement.setString(2,name);
statement.setInt(3,modify);
//接收一下执行最终更新行数
int n = statement.executeUpdate();
System.out.println("Query OK,"+n+" row affected");
//释放资源
statement.close();
connection.close();
}
本章为MYSQL学习的第四章节,如果你有任何问题或建议,欢迎在评论区留言,我们一起交流学习!感谢大家观看。