资讯专栏INFORMATION COLUMN

Oracle总结【视图、索引、事务、用户权限、批量操作】

xfee / 2597人阅读

摘要:前言在总结的第一篇中,我们已经总结了一些常用的相关的知识点了那么本篇主要总结关于视图序列事务的一些内容在数据库中,我们可以把各种的语句分为四大类数据操纵语言,,,数据定义语言,,,数据控制语言事务控制语言,,回滚点批量操作何为批量操作,就是

前言

在Oracle总结的第一篇中,我们已经总结了一些常用的SQL相关的知识点了...那么本篇主要总结关于Oralce视图、序列、事务的一些内容...

在数据库中,我们可以把各种的SQL语句分为四大类...

(1)DML(数据操纵语言):select,insert,update,delete

(2)DDL(数据定义语言):create table,alter table,drop table,truncate table

(3)DCL(数据控制语言):grant select any table to scott/revoke select any table from scott

(4)TCL(事务控制语言):commit,rollback,savepoint to 回滚点

批量操作

何为批量操作,就是一次性插入多条数据....在SQL中,我们查询出来的数据可看成是一张表,那么我们在插入数据的时候,可以根据查询出来的数据进行插入...这就可以看成是批量操作...

值得注意的是,如果没有指定插入哪些字段的话,那么查询出来的全部字段均会插入表中..

将xxx_emp表中所有20号部门的员工,复制到emp表中,批量插入,insert into 表名 select ...语法
insert into emp
select * 
from xxx_emp
where deptno=20;
删除操作对比

我们的删除语法有三种:

delete from

truncate from

drop from

我们来对比一下他们的区别:

drop table

1)属于DDL

2)不可回滚

3)不可带where

4)表内容和结构删除

5)删除速度快

truncate table

1)属于DDL

2)不可回滚

3)不可带where

4)表内容删除

5)删除速度快

delete from

1)属于DML

2)可回滚

3)可带where

4)表结构在,表内容要看where执行的情况

5)删除速度慢,需要逐行删除


事务

事务其实我们在JDBC章节中已经讲解过了,详情可查看我JDBC的博文。

再次明确一下:事务就是让一个不可分割的子操作形成一个整体,该整体要么全部执行成功,要么全部执行失败

我们值得注意的是Oracle中的事务与Mysql中的事务操作是有些不同的:

Oracle的事务开始:

第一条DML操作做为事务开始【并不需要手动开启事务】

Oracle的提交事务

(1)显示提交:commit

(2)隐藏提交:DDL/DCL/exit(sqlplus工具)【注意】

Oracle的回滚事务

(1)显示回滚:rollback

(2)隐藏回滚:关闭窗口(sqlplus工具),死机,掉电

因为Oracle有实例池这个概念,所以Oracle支持回滚...

阅读需要支付1元查看
<