day5-java&oracle总结

来源:互联网 发布:联合智业怎么样知乎 编辑:程序博客网 时间:2024/06/06 02:51

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代表一位数字,数字前可加$]

Egcolname format a10

    Col idnumber format 999

清除已更改的结构 :

Column/Col 列名 clear;

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

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

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

 

给字段设置别名

Select  列名 as 别名,….From 表名;

PSoracle在使用别名时,可以用双引号、不使用、使用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语言集中负责数据结构定义及数据库对象定义的语言 ,主要有 createalterdrop truncate四种常用语句。对数据结构起作用。

create 数据库对象的创建

alter 修改数据库对象

drop 删除数据库对象

truncate 清空表数据

数据操纵语言(DML)

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

insert 插入操作

update 更新操作

delete 删除操作

数据查询语言(DQL)

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

select 查询操作

数据控制语言(DCL)

数据控制语言DCLDataControl Language),用来控制存取许可、存取权限等。

grant 权限分配

revoke 权限回收

事务控制语言(TCL)

事务控制语言TCLTransaction Control Language)是用来对 DML操作进行确认的。

用于事务控制的语句有:

COMMIT- 提交并结束事务处理

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

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

TCL基本概念

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

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

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

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

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

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

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

事务控制

对事务的操作有两个:

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

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

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

1)遇到COMMITROLLBACK命令。

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;

 

原创粉丝点击