数据更新操作

在SQL数据库之中对于数据的更新操作一共分为三类: 数据增加、数据修改、数据删除,而且这三类的处理操作只要编写正常的SQL语句即可,而Statement接口最大的特点是可以直接执行完整的SQL语句。

 范例:定义要使用到的数据库脚本

DROP DATABASE IF EXISTS yootk ;
USE yootk;
CREATE DATABASE yootk CHARACTER SET UTF8 ;
--[注释]
CREATE TABLE user(uid BIGINT AUTO_ INCREMENT COMMENT ' 主键列(自动增长) ' ,name VARCHAR(30) COMMENT '用户姓名' ,age INT COMMENT '用户年龄',birthday DATE COMMENT '用户生日' ,salary FLOAT COMMENT '用户月新',note TEXT COMMENT '用户说明' ,CONSTRAINT pk_uid PRIMARY KEY (uid)) engine= INNODB ;
INSERT INTO user(name, age , birthday, salary,note) VALUES ('李兴华',18,' 2008-08-13', 8000.0, ' www. yootk. com') ;
INSERT INTO user(name,age , birthday , salary,note) VALUES (' 沐言优折',18,' 2009-09-15',9000.0,' ww.yootk.com') ;
INSERT INTO user(name ,age , birthday, salary,note) VALUES ('VIP学院', 18, '2009-09-15',78000.0, 'yootk.ke.qq.com') ;
COMMIT ;

在数据库中创建该表

范例:实现数据的增加

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;public class JDBCDemo {public static final String DRIVER = "com.mysql.cj.jdbc.Driver";    //数据库的驱动程序public static final String URL="jdbc:mysql://localhost:3306/yootk"; //连接地址public static final String USER = "root";   //用户名public static final String PASSWORD = "mysqladmin"; //密码public static void main(String[] args) throws Exception{Class.forName(DRIVER);  //将数据的驱动程序加载到容器内部Connection connection = DriverManager.getConnection(URL,USER,PASSWORD); //获取数据库的连接Statement statement = connection.createStatement(); //创建数据库的操作对象//sql插入字段代码,在以后填写sql语句时如果需要换行,最佳的做法是在前后多加一个空格String sql = " INSERT INTO user(name,age,birthday,salary,note) VALUES " +" ('张三',48,'1888-08-01',1299,'www.baidu.com') ";//所有的数据库更新处理都会有一个影响的数据行数信息提示,而此时的返回值就是影响的数据行的个数据int count = statement.executeUpdate(sql);   //执行sql并返回更新的数据行数System.out.println("【数据更新操作影响行数】"+count);//如果现在直接关闭了数据库的连接,整个数据库所有的Statement对象也就自动关闭了connection.close(); //及时关闭}}

【数据更新操作影响行数】1

此时的数据库:

此时当程序执行增加的时候执行的是一条完整的SQL语句(这个SQL语句是以字符串常量的形式存在的),如果这个时候执行的语句执行错误也会直接报错,当改变上述的sql语句对应的数据后执行报错:

Exception in thread "main" java.sql.SQLException: Column count doesn't match value count at row 1
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
    at com.mysql.cj.jdbc.StatementImpl.executeUpdateInternal(StatementImpl.java:1333)
    at com.mysql.cj.jdbc.StatementImpl.executeLargeUpdate(StatementImpl.java:2106)
    at com.mysql.cj.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1243)
    at JDBCDemo.main(JDBCDemo.java:21)

而这就属于整个JDBC中的异常,观察此异常的继承结构:

这个时候通过整个的异常类的继承结构可以发现,在JDBC里面最大的异常类型实际上是“SQLException",按照整个异常处理的流程来讲话,这个时候如果要想进行全部JDBC异常捕获的话,最简单的做法就是直接捕获“SQLException’

范例:执行数据的更新操作

SQL语法: UPDATE 表名称 SET字段=值,字段=值,... [WHERE更新条件];

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;public class JDBCDemo {public static final String DRIVER = "com.mysql.cj.jdbc.Driver";    //数据库的驱动程序public static final String URL="jdbc:mysql://localhost:3306/yootk"; //连接地址public static final String USER = "root";   //用户名public static final String PASSWORD = "mysqladmin"; //密码public static void main(String[] args) throws Exception{Class.forName(DRIVER);  //将数据的驱动程序加载到容器内部Connection connection = DriverManager.getConnection(URL,USER,PASSWORD); //获取数据库的连接Statement statement = connection.createStatement(); //创建数据库的操作对象//sql插入字段代码,在以后填写sql语句时如果需要换行,最佳的做法是在前后多加一个空格String sql = "UPDATE user SET name  = '李四', age = 17 ,salary = 100 WHERE name = '张三'";//所有的数据库更新处理都会有一个影响的数据行数信息提示,而此时的返回值就是影响的数据行的个数据int count = statement.executeUpdate(sql);   //执行sql并返回更新的数据行数System.out.println("【数据更新操作影响行数】"+count);//如果现在直接关闭了数据库的连接,整个数据库所有的Statement对象也就自动关闭了connection.close(); //及时关闭}}

【数据更新操作影响行数】1

此时的数据库:

这种修改并没有改变代码的结构,只是更改了sql语句,如果要删除改变sql语句即可:

DELETE FROM 表名 WHERE 条件语句

(Java数据库编程基础操作)Statement实现数据更新操作相关推荐

  1. (Java数据库编程基础操作)Statement实现数据查询操作

    Statement实现数据查询操作 在整个数据库的开发过程之中数据的查询操作是最复杂的,因为查询会牵扯到各种复杂查询的管理,例如:多表查询.子查询.统计查询.集合操作等等,但是从现代的开发来讲,对于数 ...

  2. java数据库编程——执行查询操作(二)

    [0]README 1) 本文部分文字描述和source code 均转自 core java volume 2 , 旨在理解 java数据库编程--执行查询操作(二) 的基础知识 : 2) 本文和 ...

  3. java数据库编程——执行查询操作(一)

    [0]README 1) 本文部分文字描述和source code 均转自 core java volume 2 , 旨在理解 java数据库编程--执行查询操作 的基础知识 : 2) 本文和 jav ...

  4. java基础类库——java数据库编程,JDBC连接(原生数据库连接)(十)

    java数据库编程,JDBC连接(原生数据库连接) JDBC严格来讲不属于一门技术,它属于一种服务.所有的操作流程都是固定的.JDBC是java提供的数据库操作的一个标准(它就是一组相关的标准接口), ...

  5. java数据库编程(二) 数据库操作

    关于数据库的连接方法已在java 数据库编程(一)JDBC连接Sql Server数据库一文中为大家介绍,还没有链接数据库的小伙伴请先点击查看. 今天首先为大家介绍一下数据库的连接及操作的核心类与接口 ...

  6. java数据库编程——事务

    [0]README 1) 本文部分文字描述转自 core java volume 2 , 测试源代码均为原创, 旨在理解 java数据库编程--事务 的基础知识 : 2)for database co ...

  7. java数据库编程——可滚动和可更新的结果集

    [0]README 1) 本文部分文字描述转自 core java volume 2 , 测试源代码均为原创, 旨在理解 java数据库编程--可滚动和可更新的结果集 的基础知识 : 2)for da ...

  8. java数据库编程——执行SQL 语句

    [0]README 1) 本文文字描述+source code 均转自 core java volume 2 , 旨在理解 java数据库编程--执行SQL 语句 的基础知识 : 2)for sour ...

  9. JDBC 数据库编程基础

    JDBC 数据库编程基础 安装MySQL 进入官网下载页面:https://www.mysql.com/cn/downloads/ 以下红色横线标记的为mysql社区版,是免费的mysql版本: 接下 ...

最新文章

  1. android material 颜色值,Android Material Colors 谷歌 Material Design 标准颜色
  2. 关于Windowsn 7因验证未通过被视为“非正版”出现“黑屏”的应急处理预案
  3. 论文阅读笔记(七)——Thin MobileNet
  4. rocketmq集群搭建 双主双从
  5. 手提无法使用Ghost方法安装win7系统,出现一直显示DOS工具箱和硬盘无效情况的解决
  6. 简单正则^(?![^a-zA-Z]+$)(?!\D+$)[0-9a-zA-Z]{6,35}$
  7. 如何打包c#编写的程序
  8. ArcMap模型:批量导出shp
  9. 单应性矩阵的理解及求解1
  10. 【智能算法】基于双隐含层BP神经网络的预测
  11. IE下不显示自定义错误页面
  12. 幸福公开课字幕 中英文全
  13. “数据结构基础”系列网络课程主页
  14. 你的眼界决定了你的格局
  15. [JavaScript犀牛书]第二章 词法结构
  16. stegano(图片隐写、摩斯密码)
  17. 右键excel 文件后文件夹卡死,或打开Excel后文件所在的文件夹卡死
  18. react路由:路由传参params、search、state
  19. 获取图片某种颜色所占百分比
  20. 使用canvas实现倒计时效果

热门文章

  1. linux lvcreate,LFCS:如何使用vgcreate,lvcreate和lvextend命令管理和创建LVM - 第11部分...
  2. Java创建文件并写入内容
  3. java 加密解密时间戳
  4. selenium python自动化测试教程_Python selenium自动化测试模型图解
  5. VR看房难改变国内房地产市场,看看国外巨头怎么做
  6. 老广的味道第五季笔记
  7. HTML5期末大作业:直播网站设计——仿在线媒体歪秀直播官网模板html源码(11个页面) HTML+CSS+JavaScript 期末作业HTML代码
  8. 基于Python的中文反义词识别判定工具(词典 + Word2Vec + jieba)
  9. mysql聚合函数求和
  10. Linux c 八种排序