MySQL---数据库从入门走向大神系列(二)-用Java对MySQL进行增删改查

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: MySQL---数据库从入门走向大神系列(二)-用Java对MySQL进行增删改查

上节已经学会对MySQL进行简单的增删改查了,那么,我们如何实现用Java来对数据库操作增删改呢。

本节将用Java演示对MySQL进行增删改查。

简单的来说,分为4个步骤:

1、加载连接器(驱动)   通过Driver类 (最好用类反射来加载,更加灵活)

2、建立与数据库的连接

3、获取语句对象

4、对数据库进行操作(增删改查)


其实第一步现在可以不用写了,高版本的MySQL已经在内部帮我们写好了第一步,但是,为了兼容性更好(兼容低版本的MySQL)我们最好还是写上第一步。


我们先看一下原数据库表:

image.png



用Java对数据库进行增删改:


package cn.hncu.sqlHello;


import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;


import org.junit.Test;


//import com.mysql.jdbc.Driver;


public class dbAccess {

 

@Test

public void hello() throws ClassNotFoundException, SQLException {

//1、加载连接器(驱动)  Driver

Class.forName("com.mysql.jdbc.Driver");

//用类反射加载,更灵活

 

//2、建立连接

//String url = "jdbc:mysql://127.0.0.1:3306/hncu";//这一句是采用默认编码

String url = "jdbc:mysql://127.0.0.1:3306/hncu?useUnicode=true&characterEncoding=utf-8";//采用指定编码连接

 

Connection con  = DriverManager.getConnection(url, "root", "1234");

//这3个参数是:连接串、用户名、密码

 

//3、获取语句对象

Statement st = con.createStatement();

//对表格hncu增加一行数据

 

////4 对数据库进行操作(增删改)

String sql = "insert into stud values('1010','杨过',26,'武侠')";

//String sql = "insert into stud values('1010','杨过',26,'武侠');";//sql语句加上分号也是一样的。

//但是注意!!!不能一次添加多条语句运行!(中间用分号隔也不行)

st.execute(sql);//增删改用:st.excute()方法

}

}





如果要运行多条语句怎么办,那就像这样的,运行多次第4步,可以达到相同的效果:
例:

sql = "insert into stud values('1011','杨过1',26,'武侠');";

st.execute(sql);

sql = "insert into stud values('1011','杨过1',26,'武侠');";

st.execute(sql);



运行之后的stud表:

image.png



删除和修改也是和增加一样的,只要把sql那个字符串换一下就可以了(sql那个字符串为SQL操作语句)。


查询有所不同!

Java查询SQL数据库语句代码如下:

package cn.hncu.sqlHello;


import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;


import org.junit.Test;


//import com.mysql.jdbc.Driver;


public class dbAccess {

 

@Test

public void hello() throws ClassNotFoundException, SQLException {

//1、加载连接器(驱动)  Driver

Class.forName("com.mysql.jdbc.Driver");

//用类反射加载,更灵活

 

//2、建立连接

//String url = "jdbc:mysql://127.0.0.1:3306/hncu";//这一句是采用默认编码

String url = "jdbc:mysql://127.0.0.1:3306/hncu?useUnicode=true&characterEncoding=utf-8";//采用指定编码连接

 

Connection con  = DriverManager.getConnection(url, "root", "1234");

//这3个参数是:连接串、用户名、密码

 

//3、获取语句对象

Statement st = con.createStatement();

//对表格hncu增加一行数据

 

//4 对数据库进行操作(查询)

String sql = "select * from stud where sname like '%三%' or sname like '%四%';";

ResultSet rs =  st.executeQuery(sql);

while(rs.next()){

  //为什么不用hasNext呢,因为rs就像一个指针,rs最开始的位置并不是指向第一个数据,

  //而是指向开头地址,所以不能用hasNext来判断,而必须跳过第一个不读.

  String sno = rs.getString(1);//指定列号的方式读取。第一列的序号为1。

  String sname = rs.getString("sname");//指定列名的方式来读取

  int age = rs.getInt("age");

  String saddress = rs.getString(4);

  System.out.println(sno+","+sname+","+age+","+saddress);

}

}

}



此处是查询sname带有三,或者带有四的数据。

image.png


其他的都是这样,改掉sql语句就可以进行对应的增删改查了!

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
5月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
723 7
|
10月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
6月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
310 13
|
11月前
|
NoSQL Java API
在Java环境下如何进行Redis数据库的操作
总的来说,使用Jedis在Java环境下进行Redis数据库的操作,是一种简单而高效的方法。只需要几行代码,就可以实现复杂的数据操作。同时,Jedis的API设计得非常直观,即使是初学者,也可以快速上手。
445 94
|
10月前
|
SQL 数据库 开发者
Python中使用Flask-SQLAlchemy对数据库的增删改查简明示例
这样我们就对Flask-SQLAlchemy进行了一次简明扼要的旅程,阐述了如何定义模型,如何创建表,以及如何进行基本的数据库操作。希望你在阅读后能对Flask-SQLAlchemy有更深入的理解,这将为你在Python世界中从事数据库相关工作提供极大的便利。
889 77
|
8月前
|
人工智能 Java 关系型数据库
Java的时间处理与Mysql的时间查询
本文总结了Java中时间与日历的常用操作,包括时间的转换、格式化、日期加减及比较,并介绍了MySQL中按天、周、月、季度和年进行时间范围查询的方法,适用于日常开发中的时间处理需求。
163 0
|
10月前
|
XML 数据库 Android开发
Android数据库的使用(增删改查)
本文介绍了一个简单的数据库操作Demo,包含创建数据库、增删改查功能。通过5个按钮分别实现创建数据库、插入数据、删除数据、更新数据和查询数据的操作。代码结构清晰,适合初学者学习Android SQLite数据库基础操作。
325 5
|
10月前
|
数据库 Android开发 开发者
Android常用的room增删改查语句(外部数据库)
本文分享了将一个原生数据库驱动的单词APP重构为使用Room库的过程及遇到的问题,重点解决了Room中增删改查的常用语句实现。文章通过具体示例(以“forget”表为例),详细展示了如何定义实体类、Dao接口、Database类以及Repository和ViewModel的设计与实现。同时,提供了插入、删除、更新和查询数据的代码示例,包括模糊查询、分页加载等功能。此外,针对外部数据库导入问题,作者建议可通过公众号“计蒙不吃鱼”获取更多支持。此内容适合有一定Room基础的开发者深入学习。
311 0
Android常用的room增删改查语句(外部数据库)
|
11月前
|
Java 关系型数据库 MySQL
Java汽车租赁系统源码(含数据库脚本)
Java汽车租赁系统源码(含数据库脚本)
418 4
|
6月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
483 158

推荐镜像

更多