事务
概念:事务是指作为单个逻辑工作单元执行的一组相关操作。这些操作要求全部完成或者全部不完成。使用事
务是为了保证数据的安全有效。
事务有一下四个特点:(ACID)
1. 原子性(Atomic):事务中所有数据的修改,要么全部执行,要么全部不执行。
2. 一致性(Consistence):事务完成时,要使所有所有的数据都保持一致的状态,换言之:通过事
务进行的所有数据修改,必须在所有相关的表中得到反映。
3. 隔离性(Isolation):事务应该在另一个事务对数据的修改前或者修改后进行访问。
4. 持久性(Durability):保证事务对数据库的修改是持久有效的,即使发生系统故障,也不应该丢
失。
作用 : 使用事务是为了保证数据的安全有效。
开启与结束
开启 : 执行增删改操作 insert update delete
结束:
成功:
commit
正常执行完成的DDL 语句:create、alter、drop
正常执行完DCL 语句 GRANT、REVOKE
正常退出的SQLPlus 或者 SQL
Developer 等客户端
如果人工要使用隐式事务,SET AUTOCOMMIT ON (只针对一个连接)
失败:
非法退出 意外的断电
rollback
视图
视图 : 逻辑视图 物理视图
逻辑视图 : 数据来自于数据源,视图本身不存储数据
逻辑视图作用:
1.简化:select 查询语句
2.重用:封装select语句 命名
3.隐藏:内部细节
4.区分:相同数据不同查询
如果没有权限创建视图:
1)登录sys管理员账号
2)授权:grant dba to SCOTT; 回收:revoke dba from SCOTT;
--3)登录SCOTT用户
create or replace view 视图名 as select语句[with read only];
删除视图
drop view (视图名)
索引
索引 : 帮助提高查询效率,做SQL优化
索引相当于提供目录
场景 : 数据量庞大,大量根据字段做查询少量做增删,唯一性较好的字段适合添加索引
索引是数据库的对象之一,是需要维护的
索引是为某张表中的指定字段添加索引
索引是透明的,使用没有影响
oracle会自动为主键添加索引
添加与删除
create index 索引名on表名 (字段列表...)
drop index 索引名
序列
使用工具|程序管理流水号,序列在创建时 没有与表关联 ,序列的删除不影响曾经数据的使用
create sequence 序列名 start with 起始值 increment by 步进;
序列名.currval当前值
序列名.nextval下一个最新值
第一次使用序列要 序列名.nextval
select dept_no.currval from dual;
select dept_no.nextval from dual;
删除
drop sequence 序列名;
JDBC
1.jdbc准备
oracle安装路径下找到ojbc6.jar
项目下新建lib文件夹,放入jar包
右键jar包,选择addas lib..
2.jdbc基本流程步骤
1)加载驱动(选择数据库)
加载驱动类oracle.jdbc.driver.OracleDriver
2)获取连接
3)准备sql
4)封装处理块
5)发送执行sql,得到结果
6)处理结果
7)关闭连接
预处理块的优点:
1.预先编译,提高效率
2.防止SQL注入
注意 : 事务默认自动提交