import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class JdbcUpdate { /**
* @param args
*/
public static void main(String[] args) {
try {
//加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//获取连接
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.16.111:1521:orcl","scott","tiger");
//获得句柄
Statement sta = con.createStatement(); //SQL查询命令
String sqlFind = "select * from empbak";
//从emp中复制一个新表为empbak
String sqlCreTable = "create table empbak as select * from emp";
//NVL (expr1, expr2):expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一
String sqlUpdate = "update empbak set sal = sal+200,comm = nvl(comm+100,100) where sal > (select avg(sal) from empbak )";
//复制表
int temp = sta.executeUpdate(sqlCreTable); //初始查询
//发送SQL语句,如果发送的是select,使用executeQuery;如果发送的是INSERT,DELETE,UPDATE,使用executeUpdate
ResultSet rs1 = sta.executeQuery(sqlFind);
while(rs1.next()){
System.out.print(rs1.getInt("empno")+"\t");
System.out.print(rs1.getString("ename")+"\t");
System.out.print(rs1.getString("job")+"\t");
System.out.print(rs1.getInt("mgr")+"\t");
System.out.print(rs1.getString("hiredate")+"\t");
System.out.print(rs1.getFloat("sal")+"\t");
System.out.print(rs1.getFloat("comm")+"\t");
System.out.println();
}
System.out.println("********************更新以后*********************");
int temp1 = sta.executeUpdate(sqlUpdate);
ResultSet rs = sta.executeQuery(sqlFind);
while(rs.next()){
System.out.print(rs.getInt("empno")+"\t");
System.out.print(rs.getString("ename")+"\t");
System.out.print(rs.getString("job")+"\t");
System.out.print(rs.getInt("mgr")+"\t");
System.out.print(rs.getString("hiredate")+"\t");
System.out.print(rs.getFloat("sal")+"\t");
System.out.print(rs.getFloat("comm")+"\t");
System.out.println();
}
rs.close();
sta.close();
con.close();
} catch (ClassNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
} }

JDBC数据库中表更新的更多相关文章

  1. JDBC数据库编程:PreparedStatement接口

    使用PreparedStatement进行数据库的更新及查询操作. PreparedStatement PreparedStatement是statement子接口.属于预处理. 使用statemen ...

  2. JDBC数据库常用操作(mysql)

    JDBC英文名称:JavaDataBaseConnectivity中文名称:java数据库连接简称:JDBCJDBC是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组 ...

  3. 『动善时』JMeter基础 — 44、JMeter对数据库的更新操作

    目录 1.执行一条insert语句 2.insert语句实现参数化 3.一次执行多条insert语句 4.使用Beanshell生成加密数据示例 (1)测试计划内包含的元件 (2)JDBC连接配置组件 ...

  4. mybatis框架下解决数据库中表的列的字段名和实体类属性不相同的问题

    导包.... 实体类中的属性,getter,setter,tostring,构造等方法就不写了 private int id; private String orderNo; private floa ...

  5. android开发--数据库(更新或者降低版本)

    Andoird的SQLiteOpenHelper类中有一个onUpgrade方法. 1. 帮助文档里说的"数据库升级"是指什么? 你开发了一个应用,当前是1.0版本.该程序用到了数 ...

  6. 查询数据库中表或视图或存储过程的数量 sql 语句

    如果一个数据库中表的数量较多的话,那么在统计数据库中表的数量或视图或存储过程的数量时,如果还有一个一个去数,那就太麻烦了,其实可以通过 sql 语句来查询的,sql 语句的查询方法如下: sql se ...

  7. WPF柱状图(支持数据库动态更新)之组件的数据动态化

    WPF柱状图(支持数据库动态更新) 在这片文章中我们介绍了如何将柱状图包装成一个组件,将这个组件的属性对外开放和组件的外部属性根内部属性绑定以及非轮询动态更新数据的方式. 非轮询更新数据感觉介绍的不够 ...

  8. 把数据库中表的内容转存为XML文件

    把数据库中表的内容转存为XML字符串()              ::::) " Code" IsThirdStock" CreateUser::" Code ...

  9. python开发部署时新增数据库中表的方法

    在项目版本让运维部署时,涉及到数据库表的增加问题,想了一下,可以有四种方法 1.使用SQLAlchemy的db.create_all()方法 # -*- coding:utf-8 -*- from f ...

随机推荐

  1. js 事件冒泡、事件捕获、stopPropagation、preventDefault

    转自:http://www.jb51.net/article/42492.htm (1)冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发. IE 5.5: ...

  2. jenkins如何实现重新发布历史构建记录里的版本

    Jenkins以前打包都会将打出的拷贝放到历史版本里放到Daily_Result里,昨天不只是误操作还是系统问题,误将一个历史版本的包删掉了,而且这个包是之前比较稳定的一个版本,需要重新给客户发,所以 ...

  3. vue 导航菜单默认子路由

    export default new Router({ routes: [ { path: '/', name: 'index', component: index, children: [ { pa ...

  4. LA 4327

    Panagola, The Lord of city F likes to parade very much. He always inspects his city in his car and e ...

  5. BZOJ 4244 邮戳拉力赛 (DP)

    手动博客搬家: 本文发表于20181211 18:01:21, 原地址https://blog.csdn.net/suncongbo/article/details/84957907 为了防止我的博客 ...

  6. 关于 图论·并查集·HDU1232&1856

    其核心是追溯其根数和链接两个数,而HDU 1856要多一步,每一个根数要标记自己和自己子数的个数,因此用结构体.注意:1856 用C写没超时,用C++写超时了╮(╯﹏╰)╭ 接下来是题目和代码: 畅通 ...

  7. hdu 3594 强连通好题仙人掌图,对自己的tarjan模板改下用这个

    #include<stdio.h> #include<string.h> #define N 21000 struct node { int v,next; }bian[510 ...

  8. CodeForces - 9B - Running Student

    先上题目: B. Running Student time limit per test 1 second memory limit per test 64 megabytes   And again ...

  9. @Transactional 注解的使用和注意

    转载:http://epine.itpub.net/post/8159/526281 1. 在需要事务管理的地方加@Transactional 注解.@Transactional 注解可以被应用于接口 ...

  10. MySQL必知必会面试题 基础

    1.登录数据库 (1).单实例 mysql -uroot -poldboy (2).多实例 mysql -uroot -poldboy -S /data/3306/mysql.sock 2.查看数据库 ...