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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 上节已经学会对MySQL进行简单的增删改查了,那么,我们如何实现用Java来对数据库操作增删改呢。 本节将用Java演示对MySQL进行增删改查。 简单的来说,分为4个步骤: 1、加载连接器(驱动)   通过Driver类 (最好用类反射来加载,更加灵活) 2、建立与数据库的连接 3、获取语句对象 4、对数据库进行操作(增删改查) 其实第一步现在可以不用写了,高版本的MySQL已经在内部帮我们写好了第一步,但是,为了兼容性更好(兼容低版本的MySQL)我们最好还是写上第一步。

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

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

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

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

2、建立与数据库的连接

3、获取语句对象

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


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


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




用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表:




删除和修改也是和增加一样的,只要把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带有三,或者带有四的数据。



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



相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
11天前
|
关系型数据库 MySQL 数据库
卸载云服务器上的 MySQL 数据库
卸载云服务器上的 MySQL 数据库
30 0
|
2天前
|
SQL 关系型数据库 MySQL
MySQL环境搭建——“MySQL数据库”
MySQL环境搭建——“MySQL数据库”
|
2天前
|
SQL NoSQL 关系型数据库
初识MySQL数据库——“MySQL数据库”
初识MySQL数据库——“MySQL数据库”
|
3天前
|
SQL 缓存 Java
Java数据库连接池:优化数据库访问性能
【4月更文挑战第16天】本文探讨了Java数据库连接池的重要性和优势,它能减少延迟、提高效率并增强系统的可伸缩性和稳定性。通过选择如Apache DBCP、C3P0或HikariCP等连接池技术,并进行正确配置和集成,开发者可以优化数据库访问性能。此外,批处理、缓存、索引优化和SQL调整也是提升性能的有效手段。掌握数据库连接池的使用是优化Java企业级应用的关键。
|
4天前
|
关系型数据库 MySQL 数据库
数据库基础(mysql)
数据库基础(mysql)
|
4天前
|
SQL 关系型数据库 数据库
【后端面经】【数据库与MySQL】SQL优化:如何发现SQL中的问题?
【4月更文挑战第12天】数据库优化涉及硬件升级、操作系统调整、服务器/引擎优化和SQL优化。SQL优化目标是减少磁盘IO和内存/CPU消耗。`EXPLAIN`命令用于检查SQL执行计划,关注`type`、`possible_keys`、`key`、`rows`和`filtered`字段。设计索引时考虑外键、频繁出现在`where`、`order by`和关联查询中的列,以及区分度高的列。大数据表改结构需谨慎,可能需要停机、低峰期变更或新建表。面试中应准备SQL优化案例,如覆盖索引、优化`order by`、`count`和索引提示。优化分页查询时避免大偏移量,可利用上一批的最大ID进行限制。
32 3
|
5天前
|
存储 关系型数据库 MySQL
【后端面经】【数据库与MySQL】为什么MySQL用B+树而不用B树?-02
【4月更文挑战第11天】数据库索引使用规则:`AND`用`OR`不用,正用反不用,范围中断。索引带来空间和内存代价,包括额外磁盘空间、内存占用和数据修改时的维护成本。面试中可能涉及B+树、聚簇索引、覆盖索引等知识点。MySQL采用B+树,因其利于范围查询和内存效率。数据库不使用索引可能因`!=`、`LIKE`、字段区分度低、特殊表达式或全表扫描更快。索引与NULL值处理在不同数据库中有差异,MySQL允许NULL在索引中的使用。
10 3
|
6天前
|
关系型数据库 MySQL 数据库连接
Django(四):Django项目部署数据库及服务器配置详解(MySQL)
Django(四):Django项目部署数据库及服务器配置详解(MySQL)
29 11
|
11天前
|
关系型数据库 MySQL 数据库
mysql卸载、下载、安装(window版本)
mysql卸载、下载、安装(window版本)
|
1月前
|
关系型数据库 MySQL 数据库连接
关于MySQL-ODBC的zip包安装方法
关于MySQL-ODBC的zip包安装方法