java 从数据库取值_JAVA操作数据库--从一张表中取值,经过判断,然后插入另一张表中。...
JAVA操作数据库-->从一张表中取值,经过判断,然后插入另一张表中。
SQL语句如下:两张表 weather 和 weather_process.
id均为自动增长。Oracle中采用序列 Sequence
写的不对的地方,欢迎大家指出。您的建议,也是我的进步。谢谢!
DROP SEQUENCE weather_id;
CREATE SEQUENCE weather_id //创建序列
INCREMENT BY 1 //每次增加1
START WITH 1 //从1开始,即id从1开始 每次增1 如:1,2,3...
NOMAXVALUE //不设置最大值
NOCYCLE; //不用循环
插入值的时候,id 字段写成weather_id.nextval 便完成了自动增加的功能!
INSERT INTO WEATHER(id, weather) values (weather_id.nextval,'晴');
DROPTABLEWEATHER;
CREATETABLEWEATHER (
IDINTPRIMARYKEYNOTNULL,
weatherVARCHAR(20)NOTNULL
);
DROPWEATHER_PROCESS;
CREATETABLEWEATHER_PROCESS(
IDINTPRIMARYKEYNOTNULL,
阴intNOTNULLdefault0,
晴intNOTNULLdefault0,
雨intNOTNULLdefault0
);
DROPSEQUENCEweather_id;
CREATESEQUENCEweather_id
INCREMENTBY1
STARTWITH1
NOMAXVALUE
NOCYCLE;
DROPSEQUENCEweather_process_id ;
CREATESEQUENCEweather_process_id
MINVALUE 1
STARTWITH1
INCREMENTBY1;
INSERTINTOWEATHER(id, weather)values(weather_id.nextval,'晴');
INSERTINTOweather(id, weather)values(weather_id.nextval,'雨');
INSERTINTOweather(id, weather)values(weather_id.nextval,'阴');
INSERTINTOweather(id, weather)values(weather_id.nextval,'雨');
INSERTINTOweather(id, weather)values(weather_id.nextval,'阴');
INSERTINTOweather(id, weather)values(weather_id.nextval,'晴');
INSERTINTOweather(id, weather)values(weather_id.nextval,'雨');
INSERTINTOweather(id, weather)values(weather_id.nextval,'晴');
下面来说说这次的主题:根据weather 表中的weather字段 的值(晴,阴,雨),来决定表weather_process 中 阴 晴 雨 的值。
当weather 为 晴时,weather_process 中的值 设置为:0 1 0 (阴,晴,雨)。
当weather 为 阴时,weather_process 中的值 设置为:1 0 0 (阴,晴,雨)。
当weather 为 雨时,weather_process 中的值 设置为:0 0 1 (阴,晴,雨)。
上述采用JAVA 实现。
连接ORACLE 的代码:
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.SQLException;
/**
* A JDBC test application for Oracle
*
* @author Wang
* @version 1.0.0
* @since JDK1.6
*/
publicclassOracleConnect {
// 定义ORACLE的数据库驱动程序
publicstaticfinalString DBDRIVER ="oracle.jdbc.driver.OracleDriver";
// 定义ORACLE数据库的连接地址
publicstaticfinalString DBURL ="jdbc:oracle:thin:@localhost:1521:ORCL";
//ORACLE数据库的连接用户名
publicstaticfinalString DBUSER ="system";
// ORACLE数据库的连接密码
publicstaticfinalString DBPASS ="www.google.com";
publicConnection getConnection() {
Connection conn =null;// 数据库连接
try{
Class.forName(DBDRIVER) ;
}catch(ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}// 加载驱动程序
System.out.println("加载驱动成功!");
try{
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
}catch(SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("连接成功!");
returnconn;
}
}
处理表的代码:
importjava.sql.Connection;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
publicclassOracleProcess {
Connection conn =null;
Statement stmt =null;
publicOracleProcess(){
OracleConnect oraconn =newOracleConnect();
conn = oraconn.getConnection();
}
publicConnection getWeather() {
try{
stmt = conn.createStatement();
}catch(SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String sql ="SELECT weather FROM WEATHER";
//String sql1 = "CREATE TABLE WEATHER_PROCESS(ID INT PRIMARY KEY NOT NULL,阴 int NOT NULL ,晴 int NOT NULL,雨 int NOT NULL)";
ResultSet result =null;
try{
stmt.executeUpdate(sql);
result = stmt.executeQuery(sql);
}catch(SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try{
intflag =0;
while(result.next()) {
//System.out.print(result.getString("weather")+"、");
String str = result.getString("weather"); //获取表中weather的值
if("阴".equals(str)) {
stmt = conn.createStatement();
/*
*如果不重新stmt一个 则出现的是表中只会插入一条记录,
*然后整个循环就退出了。
*/
String sql2 ="INSERT INTO WEATHER_PROCESS(id, 晴,阴,雨) values (weather_process_id.nextval,0,1,0)";
stmt.executeUpdate(sql2);
System.out.print(str+"、");
}elseif("晴".equals(str)) {
stmt = conn.createStatement();
String sql2 ="INSERT INTO WEATHER_PROCESS(id, 晴,阴,雨) values (weather_process_id.nextval,1,0,0)";
stmt.executeUpdate(sql2);
System.out.print(str+"、");
}else{
stmt = conn.createStatement();
String sql2 ="INSERT INTO WEATHER_PROCESS(id, 晴,阴,雨) values (weather_process_id.nextval,0,0,1)";
stmt.executeUpdate(sql2);
System.out.print(str+"、");
}
flag ++;
}
System.out.println("\n此次一共更新了"+flag+"条语句");
}catch(SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try{
result.close();
stmt.close();
conn.close();
}catch(SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
returnconn;
}
}
欢迎共同交流,写的不对的地方还望大家谅解,呵呵。
java 从数据库取值_JAVA操作数据库--从一张表中取值,经过判断,然后插入另一张表中。...相关推荐
- java连接本地数据库命令_Java操作数据库时一次连接只能执行一条SQL命令
Java操作数据库时一次连接只能执行一条SQL命令 答:× 全面深化改革要攻坚涉险,必须坚持正确的思想方法,不断探索和把握全面深化改革的内在规律,特别是要把握和处理好全面深化改革中的等重大关系 答:整 ...
- java用来创建数据库连接的接口是_Java操作数据库--JDBC
简介 刚开始介绍了mysql基本语句,但是你会觉得好像不会知道怎么用,它的用途在什么地方,所以为了提高兴趣今天我们来介绍一下JDBC,以后会和MySQL一起更新. JDBC,到底jdbc是什么东西呢? ...
- java 数据库操作教程_java操作数据库的基本方法
此次开发工具为eclipse,才有的数据库驱动是mysql-connector-java-5.1.8-bin.jar 第一步,在eclipse的工程目录中引用mysql驱动 驱动下载地址:https: ...
- musql数据库定期跑批操作数据库,不必java后台写定时方法去操作。
我们java后台定期改变后台数据库一般都是写定时器,定期操作.其实还可以数据库里写个定时跑批任务,来操作数据库. 今天在做项目时,需要每天检查数据库,判断一个表里的数据的时间和状态,如果时间过了3天了 ...
- java中数据库修改语句_java 修改数据库中的数据
就是把文本框中修改的数据重写入数据库代码:intnum=Integer.parseInt(number.getText());Stringnewname=name.getText();Stringne ...
- mysql修改数据库历史_MySQL之操作数据库
二.操作数据库 操作数据库-->操作数据库中的表-->操作数据库中表的数据 注:所有语句都要用;结尾. 1.操作数据库 例:创建数据库westos并使用. 注:以后所有命令带[]表示可选, ...
- 05--MySQL自学教程:DDL(Data Definition Language:数据库定义语言)操作数据库中的表(二)
DDL对数据库的操作:http://blog.csdn.net/baidu_37107022/article/details/72334560 DDL对数据库中表的操作 1)方法概览 2)演示 //创 ...
- 05--MySQL自学教程:DDL(Data Definition Language:数据库定义语言)操作数据库(一)
1.DDL(Data Definition Language:数据库定义语言)概览 DDL(Data Definition Language:数据库定义语言) 2.DDL对数据库的操作 1)方法概览 ...
- cad与连接mySQL数据库_跨服务器操作数据库?其实很简单!(下)
之前一篇文章一步一步的教小伙伴们如何建立SQL Server的数据库链接(DBLINK),详细步骤可查看上篇:跨服务器操作数据库?其实很简单!(上) 今天我们来教大家如何连接MYSQL和Oracle的 ...
最新文章
- angular HttpClient post put patch del 方法(2)-Promise 服务
- Exynos 4412启动过程(群聊笔记记录)
- Angular应用内路由(In App Route)的最佳实践
- Lync-用户-电话号码-更新
- 人体工学腰垫,保腰神器,改善久坐腰酸背痛
- ie浏览器网页版进入_IE浏览器打开网页速度很慢的解决办法
- 什么是场景化需求分析法?如何有效使用这个客户需求分析最有效的方法?
- 北航 华科 计算机学院官网,北京航空航天大学和华中科技大学如何比较?
- php html转ubb,PHP HTML转UBB函数
- 大内高手 调试手段及原理
- 深入理解计算机系统第四章(4.55-4.58)
- html不对齐表格的实现
- NeuroImage:对情绪表现的快速接近—回避反应反映了基于价值的决策:来自脑电图研究的神经证据
- 网络测速全解析之一:自定义View基础知识(八)
- 缓存穿透,缓存击穿,缓存雪崩
- 中奖人js滚动效果_jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可...
- 如何将文字翻译成英文?简单教程讲解
- 迸发中的小i机器人,2018年多处开花
- 为InfiniBand而哭泣
- pythonista3安装第三方库_如何在pythonista for ios中添加第三方库,如pandas?
热门文章
- was升级jdk版本_WebSphere 8.5 升级jdk版本
- cs架构用什么语言开发_C、C++、Go 语言、Linux服务器开发高级架构师进阶之路
- sklearn下的ROC与AUC原理详解
- Python淘汰倒计时!这个新一代可视化神器,阿里、华为都用疯了?
- 不想跑数了,数据分析师的前途在哪里?
- 聚合型神器!有了他,手机里app可以删一半
- 一文理清面向对象(封装、继承、多态)+ 实战案例
- 用 Python 在朋友圈中游遍全球
- 小狗分类器,你家的狗子是个什么狗?
- python 字典取值加引号创建一个对象_Python在添加到字典时从列表项中删除单引号...