您的位置:首页 > 数据库 > Oracle

day5-java&oracle总结

2017-08-02 20:23 267 查看

Java

条件语句:

IF:

执行过程:

嵌套IF:

执行过程:

if...else:

执行过程:

多重 if:

执行过程:

Switch语句:

执行过程:当 switch 后表达式的值和 case 语句后的值相同时,从该位置开始向下执行,直到遇到 break 语句或者 switch 语句块结束;如果没有匹配的 case 语句则执行 default 块的代码。

注意:

1. 关于switch语句:

 1)break是可以省略的,如果省略了就一直执行到遇到break为止;

       2) switch 后面的小括号中的变量应该是byte,char,short,int,string中的一种;

       3)default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression与case中的value是否匹配,程序会从default开始执行直到第一个break出现。

2. 关于if以及switch的选择

当判断固定个数的值的时候,可以使用if,也可以使用switch。但是建议使用switch,效率相对较高。

3.break 和 continue

break:作用于switch ,和循环语句,用于跳出,或者称为结束。

break语句单独存在时,下面不要定义其他语句,因为执行不到,编译会失败。当循环嵌套时,break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。

 

continue:只作用于循环结构,继续循环用的。

作用:结束本次循环,继续下次循环。该语句单独存在时,下面不可以定义语句,执行不到。

从键盘读取字符的语句

Scanner sc(自取) = new Scanner(System.in);

Int a = sc.nextInt();

ORACLE

在sqlplus 中设置查询结果的格式

修改列名显示结果 :

Column/Col 列名 heading 新名字; [仅修改查询结果中的列名,实际数据不被修改]

修改列的内容显示长度 :

Column/Col 列名 format 格式;[字符类型仅能设置显示的长度.设置字符型以a开头后面加上长度;数值型用9代表一位数字,数字前可加$]

Eg:col
name format a10;

    Col idnumber format 999;

清除已更改的结构 :

Column/Col 列名 clear;

数据查询语言(DQL)--- 简单查询

简单查询(使用关键字distinct可以去除重复数据)

Select [DISTINCT] 要查询的列名 | *
from 表名 [where 条件];’

 

给字段设置别名

Select  列名 as 别名,….
From 表名;
PS:oracle在使用别名时,可以用双引号、不使用、使用as来表明别名。但不能使用单引号。

EG:

selectename "姓名",sal*13+nvl(comm,0)*13"年收入" from emp;          

selectename 姓名,sal*13+nvl(comm,0)*13年收入 from emp;

selectename as "姓名",sal*13+nvl(comm,0)*13as "年收入" from emp;

 

使用nvl函数来处理null

nvl是oracle提供的函数,是用于处理null值使用的。

语法:nvl(值1,值2)

解释:nvl值1为null时则取值2,值1不为null时则取值1原值。

select empno,ename,(sal+nvl(comm,0))*13 from emp;

 

 

运算符和表达式

算术运算符 : + - * /

比较运算符 : > >= <<= <>(不等于)

逻辑运算符 : and、or、not [优先级顺序为:not、and、or]
连接运算符 : ||

DDL、DML、DQL、DLC、TCL

数据定义语言(DDL)

数据定义语言 DDL( Data Definition Language ) ,
是 SQL
语言集中负责数据结构定义及数据库对象定义的语言 ,
主要有 create、alter、drop
和 truncate
四种常用语句。对数据结构起作用。
create 数据库对象的创建
alter 修改数据库对象
drop 删除数据库对象
truncate 清空表数据

数据操纵语言(DML)

数据操纵语言 DML( Data Manipulation Language ) ,
用户通过它可以实现对数据表的基本操作 ,即对表中数据的增、删、改。DML
对数据起作用。
insert 插入操作
update 更新操作
delete 删除操作

数据查询语言(DQL)

数据查询语言 DQL( Data Query Language ) ,
主要通过它实现对数据的查询操作。
select 查询操作

数据控制语言(DCL)

数据控制语言DCL(DataControl Language),用来控制存取许可、存取权限等。
grant 权限分配
revoke 权限回收

事务控制语言(TCL)

事务控制语言TCL(Transaction Control Language)是用来对
DML操作进行确认的。
用于事务控制的语句有:

COMMIT- 提交并结束事务处理

ROLLBACK-  撤销事务中已完成的工作

SAVEPOINT– 标记事务中可以回滚的点

TCL基本概念

事务是对数据库操作的逻辑单位,在一个事务中由DML (数据操纵语言)、DDL (数据定义语言)和DCL (数据控制语言)语句组成一个逻辑整体。

一个事务中可以包含多条DML语句,或者包含一条DDL语句,或者包含一条DCL语句。

事务具有四个属性,这四个属性的英文单词首字母合在一起就是ACID 。这四个属性是:

原子性(Atomicity ):事务要么全部执行,要么全部不执行,不允许部分执行。

一致性(Consistency
):事务把数据库从一个一致状态带入另一个一致状态。

独立性(Isolation ):一个事务的执行不受其他事务的影响。

持续性(Durability ):一旦事务提交,就永久有效,不受关机等情况的影响。

事务控制

对事务的操作有两个:

提交( COMMIT )- 提交并结束事务处理

回滚( ROLLBACK )-撤销事务中已完成的工作

事务开始于第一条SQL语句,在下列之一情况下结束:

(1)遇到COMMIT或ROLLBACK命令。

(2)遇到一条DDL或者DCL命令。

(3)系统发生错误、退出或者崩溃。

Roll back操作

回滚事务有两种方式:完全回滚,即回滚到事务的开始;部分回滚事务,即可以将事务有选择地回滚到中间的某个点。部分回滚是通过设置保存点( SAVEPOINT )来实现的。

 

-部分回滚



savepoint保存点名称;//设置保存点



rollbackto [savepoint] 保存点名称;//回滚到保存点

 

特别注意:设置保存点及回滚操作是配合delete语句使用,用来找回使用delete删除的数据。而通过truncate删除的表数据是无法通过此方法找回的。

PS:(1)在一个事务中可以保存多个保存点。
(2)设置保存点是有资源开销的。
(3)一旦回退后,该保存点就消失了,不能再次回退。
(4)一旦提交了事务,则不能回退到任何保存点。
 

事务隔离级别(了解)

数据库的并发操作会带来以下问题:
(1)脏读:当一个事务读取另外一个事务尚未提交的修改时,产生脏读。(在oracle中,没有脏读)
(2)不可重复读:同一查询在同一个事务中,多次执行,由于其他提交事务所做的修改或删除,每次返回不同的结果集。
(3)幻读:同一查询在同一事务中多次执行,由于其他提交事务所做的插入操作,每次返回不同的结果集,这个现象称为幻读。
oracle有三种事务隔离级别:
(1)read commited:默认的事务隔离级别,保证不会出现脏读,但可能出现不可重复读和幻读
(2)serializable:可以保证不出现脏读、不可重复读、幻读
(3)read-only:可以保证不出现脏读、不可重复读、幻读,只能进行读操作,不能进行修改、删除、插入操作。
设置当前事务的隔离级别

set transaction isolation level read committed;(默认)
set transaction isolation level serializable;
set transaction read only;

设置整个会话的隔离级别

alter session set isolation level read committed;
alter session set isolation level serializable;

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: