继前一篇java连接mysql数据库达成数据查询详细教程我们今天继续来讲解关于java连接mysql后的操作项:数据修改添加操作。
除了连接查询,在数据库中,修改数据与添加数据尤为重要,数据的修改添加会与用户产生的动作进行交互,为后阶段的输出值进行着更改。
那么废话不多说,我们直接开始教程:
每一次教程我们都要有进步,这次我们将数据库的连接单独放在mysql.java中,需要的时候拿出来用就行了,放图放代码:
package java_mysql;
import java.sql.*;
public class mysql {
private String userName = "root";
private String password = "123456";
private String url = "jdbc:mysql://localhost:3306/nvshen";
Connection conn = null;
public String url()
{
return url;
}
public String name()
{
return userName;
}
public String mima()
{
return password;
}
public void url_mysql() {
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("驱动加载成功!");
}
catch (ClassNotFoundException e)
{
System.out.println("加载失败!");
e.printStackTrace();
}
try
{
mysql aa=new mysql();
conn= DriverManager.getConnection(aa.url(),aa.name(), aa.mima());
System.out.println("数据库连接成功!");
}
catch (SQLException e)
{
e.printStackTrace();
System.out.println("连接失败!");
}
}
}
package java_mysql;
public class main {
public static void main(String[] args)
{
mysql mysql=new mysql();
mysql.url_mysql();
}
}
这样new一次就使用连接功能了,连接后conn会赋给全局变量,到时候拿来用就行了。
连接后,我们先看看表里面有哪些内容,上图上图:
我们可以看到其中有jbxx表与xxxx表,而我们现在要做的就是修改添加表,因为上面已经连接了mysql数据库,所以直接修改表就行了,下面进行教程:
一.数据表的数据修改更新
1.我们创建一个java文件,用于存放修改代码:update_mysql.java,代码如下:
package java_mysql;
import java.sql.*;
public class update_mysql {
public void setupdate(String date)
{
try
{
mysql mysql=new mysql(); //new mysql,对mysql.java中的语句进行交互
mysql.url_mysql(); //使用mysql.java中的url_mysql方法,这里是连接数据库
Statement stmt = mysql.conn.createStatement(); //获取可以执行sql语句的对象||交互数据库并且将值给stmt
stmt.execute(date); //接收String date命令,并将命令进行交互
System.out.println("修改成功");
}
catch (SQLException e) //异常抛出
{
e.printStackTrace();
}
}
}
2.创建main.java,用于发送命令,代码如下:
package java_mysql;
public class main {
public static void main(String[] args)
{
update_mysql date=new update_mysql();
date.setupdate("UPDATE xxxx SET 编号='3',姓名='Tom',年龄=66,性别=1,生日='2020-06-26',邮箱='Tom@gmail.com',手机号='1357984541' where 编号=1");
}
}
这里强调一下mysql语句:
"UPDATE xxxx SET 编号='3',姓名='Tom',年龄=66,性别=1,生日='2020-06-26',邮箱='Tom@gmail.com',手机号='1357984541' where 编号=1"
//修改更新xxxx表,SET后的是要更改的信息,where定位到要更改的那一排
这里的是mysql命令,java与mysql之间是用命令交互的,所以交互方式有很多种,这里选择最容易理解的方式。
注:mysql命令中有些需要单引号,如日期date类型:’2020-06-26′
命令方法和执行方法都写好了后,我们直接运行就行了。放图
这时,我们来看下数据表是否更改:
这里可以看到数据已经修改成功了
二.数据表的数据添加
1.我们在update_mysql.java创建一个添加数据的方法
public void setinput(String input)//添加方法
{
try
{
mysql mysql=new mysql();
mysql.url_mysql();
Statement stmt = mysql.conn.createStatement();
stmt.execute(input);
System.out.println("修改成功");
}
catch (SQLException e)
{
e.printStackTrace();
}
}
//理解同上,
2.我们来写添加代码,修改数据的代码与添加代码类似,都是直接给指令就行了
package java_mysql;
public class main {
public static void main(String[] args)
{
update_mysql date=new update_mysql();
date.setinput("insert into xxxx values(null,'linda',56,'0','2000-11-15','Linda123@qq.com',1855676415)");
}
}
"insert into xxxx values(null,'linda',56,'0','2000-11-15','Linda123@qq.com',1855676415)"//mysql添加语句
注:这里我写null是因为我在“编号”是添加了自动递增的功能
命令方法和执行方法都写好了后,我们直接运行就行了。再放图
这里我们的数据就添加了,因为其中更新删除很多次,所以自动递增到了15
三.本期教程的最后一项:删除数据
如果你看了上面的教程,这一步几乎都不用怎么看了,所以直接放代码
public void setdelect(String delect)//接收删除指令
{
try {
mysql mysql=new mysql();
mysql.url_mysql();
Statement stmt = mysql.conn.createStatement();
stmt.execute(delect);
System.out.println("数据删除成功");
}
catch (SQLException e)
{
e.printStackTrace();
}
}
package java_mysql;
public class main {
public static void main(String[] args)
{
update_mysql date=new update_mysql();
date.setdelect("delete from xxxx where 编号 in(15)");
}
}
这里顺便提一下删除方式,删除单删与多删:
"delete from xxxx where 编号=15"//单删
"delete from xxxx where 编号 in(15,1,3,4,6)"//多删
本期教程到此结束,java_mysql的对接交互教程暂时到此为止
释放本期代码:
package java_mysql;
import java.sql.*;
public class update_mysql {
public void setupdate(String date)
{
try { mysql mysql=new mysql();
mysql.url_mysql();
Statement stmt = mysql.conn.createStatement();
stmt.execute(date);
System.out.println("修改成功");
}
catch (SQLException e)
{
e.printStackTrace();
}
}
public void setinput(String input)//添加方法
{
try { mysql mysql=new mysql();
mysql.url_mysql();
Statement stmt = mysql.conn.createStatement();
stmt.execute(input);
System.out.println("数据添加成功");
}
catch (SQLException e)
{
e.printStackTrace();
}
}
public void setdelect(String delect)
{
try {
mysql mysql=new mysql();
mysql.url_mysql();
Statement stmt = mysql.conn.createStatement();
stmt.execute(delect);
System.out.println("数据删除成功");
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
package java_mysql;
public class main {
public static void main(String[] args)
{
//更新数据
update_mysql date=new update_mysql();
date.setupdate("UPDATE xxxx SET 编号='3',姓名='Tom',年龄=66,性别=1,生日='2020-06-26',邮箱='Tom@gmail.com',手机号='1357984541' where 编号=1");
//添加数据
update_mysql date=new update_mysql();
date.setinput("insert into xxxx values(null,'linda',56,'0','2000-11-15','Linda123@qq.com',1855676415)");
//删除数据
update_mysql date=new update_mysql();
date.setdelect("delete from xxxx where 编号 in(15)");
}
}
连接数据库代码:
package java_mysql;
import java.sql.*;
public class mysql {
private String userName = "root";
private String password = "123456";
private String url = "jdbc:mysql://localhost:3306/nvshen";
Connection conn = null;
public String url()
{
return url;
}
public String name()
{
return userName;
}
public String mima()
{
return password;
}
public void url_mysql() {
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("驱动加载成功!");
}
catch (ClassNotFoundException e)
{
System.out.println("加载失败!");
e.printStackTrace();
}
try
{
mysql aa=new mysql();
conn= DriverManager.getConnection(aa.url(),aa.name(), aa.mima());
System.out.println("数据库连接成功!");
}
catch (SQLException e)
{
e.printStackTrace();
System.out.println("连接失败!");
}
}
}