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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 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语句就可以进行对应的增删改查了!

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1天前
|
缓存 NoSQL 关系型数据库
在Python Web开发过程中:数据库与缓存,MySQL和NoSQL数据库的主要差异是什么?
MySQL与NoSQL的主要区别在于数据结构、查询语言和可扩展性。MySQL是关系型数据库,依赖预定义的数据表结构,使用SQL进行复杂查询,适合垂直扩展。而NoSQL提供灵活的存储方式(如JSON、哈希表),无统一查询语言,支持横向扩展,适用于处理大规模、非结构化数据和高并发场景。选择哪种取决于应用需求、数据模型及扩展策略。
10 0
|
2天前
|
Java 开发工具 Windows
Java入门及环境变量
Java入门及环境变量
|
2天前
|
Java API 调度
[AIGC] 深入理解Java并发编程:从入门到进阶
[AIGC] 深入理解Java并发编程:从入门到进阶
|
2天前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
|
2天前
|
前端开发 Java 测试技术
Java从入门到精通:4.1.1参与实际项目,锻炼编程与问题解决能力
Java从入门到精通:4.1.1参与实际项目,锻炼编程与问题解决能力
|
2天前
|
Java 程序员 数据库连接
Java从入门到精通:3.3.2性能优化与调优——内存管理篇
Java从入门到精通:3.3.2性能优化与调优——内存管理篇
Java从入门到精通:3.3.2性能优化与调优——内存管理篇
|
2天前
|
Dubbo Java 应用服务中间件
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
|
2天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
|
2天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
ava从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
|
7天前
|
关系型数据库 MySQL 分布式数据库
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
37 2