how2j.cn


工具版本兼容问题
CRUD是最常见的数据库操作,即增删改查
C 增加(Create)
R 读取查询(Retrieve)
U 更新(Update)
D 删除(Delete)

在JDBC中增加,删除,修改的操作都很类似,只是传递不同的SQL语句就行了。

查询因为要返回数据,所以和上面的不一样,将在查询章节讲解。

本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频



4分6秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)



步骤 1 : 增加   
步骤 2 : 删除   
步骤 3 : 修改   
步骤 4 : 练习-增 删 改   
步骤 5 : 答案-增 删 改   

步骤 1 :

增加

这段代码就是Hello JDBC中的代码,用于向数据库中插入数据
package jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class TestJDBC { public static void main(String[] args) { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } try ( Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8", "root", "admin"); Statement s = c.createStatement(); ) { String sql = "insert into hero values(null," + "'提莫'" + "," + 313.0f + "," + 50 + ")"; s.execute(sql); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
步骤 2 :

删除

删除和增加很类似,只不过是执行的SQL语句不一样罢了
package jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class TestJDBC { public static void main(String[] args) { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } try ( Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8", "root", "admin"); Statement s = c.createStatement(); ) { String sql = "delete from hero where id = 5"; s.execute(sql); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
步骤 3 :

修改

修改也一样,执行另一条SQL语句就可以了
package jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class TestJDBC { public static void main(String[] args) { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } try ( Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8", "root", "admin"); Statement s = c.createStatement(); ) { String sql = "update hero set name = 'name 5' where id = 3"; s.execute(sql); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
步骤 4 :

练习-增 删 改

Or  姿势不对,事倍功半! 点击查看做练习的正确姿势
设计一个方法

public static void execute(String sql)

方法接受的参数是SQL语句,无论是增加,删除,还是修改,都调用这个方法,每次传不同的SQL语句作为参数
步骤 5 :

答案-增 删 改

在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

3分2秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)


package jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class TestJDBC { public static void execute(String sql) { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } try (Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8", "root", "admin"); Statement s = c.createStatement();) { s.execute(sql); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) { execute("delete from hero where id = 1"); } }


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


问答区域    
2018-04-02 向指定id中插入数据该怎么写啊
老实人
指定id插入数据 是这样写吗? 比如说我id1的没有数据 "insert into hero values where id=1 (null,"+"'gareen'"+","+155.0f+","+50+")"




2 个答案

sss信封 答案时间:2018-04-12
这样写的话,下次执行插入语句,id为null的话,还是会实现自增长,会出现主键冲突

老实人 答案时间:2018-04-02
我知道了 应该这样写"insert into hero values (1,"+"'gareen'"+","+155.0f+","+50+")"




答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2018-01-06 sql执行增加操做能否写成一个字符串
DEMO4250



sql执行增加操做能否写成一个字符串
 String sql = "insert into hero values(null," + "'提莫'" + "," + 313.0f + "," + 50 + ")";

							


1 个答案

ikonon 答案时间:2018-01-06
可以




答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2017-11-13 Sql语句里面的+号不能省略吗?
2017-10-16 站长大大,关于ID自增的问题
2017-07-27 sql语句313.of这里的.of代表什么意思,为什么要用.of
2017-07-10 关于java连接数据库, 和mysql front 的一点对比




提问之前请登陆
关于 JAVA 中级-JDBC-增、删、改 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 620943819
站长会在每个工作日早上尽量回答提问(如果有漏掉没有回答的,请进群提醒一下)
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
站长是玻璃心,提问的时候请语气温柔些 kiss~
截止2017-5-19日累计提问 1638个,站长回答了 1546个
截止2017-8-15日累计提问 2788个,站长回答了 2544个

上传截图