不废话,上代码
1 package com.ningmeng; 2 3 import java.sql.*; 4 5 /** 6 * 1:更改数据库中的数据 7 * @author biexiansheng 8 * 9 */ 10 public class Test04 { 11 12 public static void main(String[] args) { 13 // TODO Auto-generated method stub 14 try { 15 Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动 16 System.out.println("加载数据库驱动成功"); 17 String url="jdbc:mysql://localhost:3306/test";//声明数据库test的url 18 String user="root";//数据库账号 19 String password="123456";//数据库密码 20 //建立数据库连接,获得连接对象conn 21 Connection conn=DriverManager.getConnection(url, user, password); 22 System.out.println("连接数据库成功"); 23 String sql="update users set age=20 where id=1 ";//生成一条mysql语句 24 Statement stmt=conn.createStatement();//创建一个Statement对象 25 stmt.executeUpdate(sql);//执行SQL语句 26 System.out.println("修改数据库成功"); 27 conn.close(); 28 System.out.println("关闭数据库成功"); 29 } catch (ClassNotFoundException e) { 30 // TODO Auto-generated catch block 31 e.printStackTrace(); 32 } catch (SQLException e) { 33 // TODO Auto-generated catch block 34 e.printStackTrace(); 35 } 36 37 38 } 39 40 }
结果如下
上图对比代表修改成功,ok.
注意:
修改数据库是数据库操作必不可少的一部分,使用Statement接口中的excuteUpdate()方法可以修改数据表中的数据,也可以使用PreparedStatement接口中的excuteUpdate方法对数据库中的表进行修改操作。
1 package com.ningmeng; 2 3 import java.sql.*; 4 5 /** 6 * @author biexiansheng 7 * 8 */ 9 public class Test05 { 10 11 public static void main(String[] args) { 12 // TODO Auto-generated method stub 13 try { 14 Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动 15 System.out.println("加载数据库驱动成功"); 16 String url="jdbc:mysql://localhost:3306/test";//声明数据库test的url 17 String user="root";//数据库账号 18 String password="123456";//数据库密码 19 //建立数据库连接,获得连接对象conn 20 Connection conn=DriverManager.getConnection(url, user, password); 21 System.out.println("连接数据库成功"); 22 23 String sql="update users set password=? where sex=? ";//生成一条mysql语句 24 PreparedStatement ps=conn.prepareStatement(sql);//创建PreparedStatement对象 25 ps.setString(1, "admin");//为第一个问号赋值 26 ps.setInt(2, 0);//为第二个问号赋值 27 int count=ps.executeUpdate();//执行sql语句 28 System.out.println("修改数据库成功"); 29 conn.close(); 30 System.out.println("关闭数据库成功"); 31 32 } catch (ClassNotFoundException e) { 33 // TODO Auto-generated catch block 34 e.printStackTrace(); 35 } catch (SQLException e) { 36 // TODO Auto-generated catch block 37 e.printStackTrace(); 38 } 39 40 } 41 42 }
上图对比,可知已经修改完毕
如上所示修改数据是根据一定的条件进行修改,这个条件可以是固定的,也可以是一个范围,分别是第一个,第二个案例。
第二个案例使用PreparedStatement接口中的executeUpdate()方法修改数据库users表中的数据。(将所有性别为0的用户密码改为admin,需要注意的是,我得数据表创建的时候性别是int类型的,只有0,1,2三种进行代表,所以参考案例的需要注意一下代码的修改)