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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 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
目录
相关文章
|
4天前
|
Java 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口(下)
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口
13 0
|
2天前
|
关系型数据库 MySQL API
实时计算 Flink版产品使用合集之可以通过mysql-cdc动态监听MySQL数据库的数据变动吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
16 0
|
2天前
|
算法 Java C++
刷题两个月,从入门到字节跳动offer丨GitHub标星16k+,美团Java面试题
刷题两个月,从入门到字节跳动offer丨GitHub标星16k+,美团Java面试题
|
3天前
|
存储 关系型数据库 MySQL
《MySQL 入门教程》第 05 篇 账户和权限,Java高并发编程详解深入理解pdf
《MySQL 入门教程》第 05 篇 账户和权限,Java高并发编程详解深入理解pdf
|
3天前
|
存储 数据可视化 前端开发
Echarts+vue+java+mysql实现数据可视化
Echarts+vue+java+mysql实现数据可视化
|
3天前
|
算法 Java Python
保姆级Java入门练习教程,附代码讲解,小白零基础入门必备
保姆级Java入门练习教程,附代码讲解,小白零基础入门必备
|
3天前
|
Java 关系型数据库 MySQL
MySql数据库级别MD5加密java MD5加密解密工具包
MySql数据库级别MD5加密java MD5加密解密工具包
|
4天前
|
前端开发 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · 数据库导出Excel表格文件的接口
【MySQL × SpringBoot 突发奇想】全面实现流程 · 数据库导出Excel表格文件的接口
26 0
|
4天前
|
安全 Java
从零开始学习 Java:简单易懂的入门指南之不可变集合、方法引用(二十六)
从零开始学习 Java:简单易懂的入门指南之不可变集合、方法引用(二十六)

推荐镜像

更多
http://www.vxiaotou.com