Oracle:处理数据
来源:互联网 发布:看美剧用什么视频软件 编辑:程序博客网 时间:2024/06/10 02:46
数据的插入,更新,删除。
DML(data manipulation language数据操作语言):insertupdate delete select
DDL(data definition language数据定义语言):create/alter/drop/truncate表操作
Create/dropview/sequence/index/synonym 视图
DCL(data control language数据控制语言):commitrollback
增删改查组合起来可以组成事务。
--insert
insert into emp(empno,ename,dal,deptno)values(1001,’Tom’,3000,10);
可以插入null,可以显示插入:
Insert into emp(empno,ename,dal,deptno)values(1001,’Tom’,null,null);
可以隐式插入:
insert into emp(empno,ename,dal,deptno) values(1001,’Tom’);
地址符:&,与JDBC的PreparedStatement作用差不多,&相当于一个?
insert into emp(empno,ename,sal,deptno)values(&empno,&ename,&sal,&deptno);
会提示为取地址符输入参数:
Empno的值:1002
Ename的值:’Mary’
Sal的值:3000
Deptno的值:20
会显示原值和新值:
在任何一个DML中都可以使用地址符。
Select * from &t; t代表了一个表
批处理
建立一个表:
create table emp10 as select * from empwhere 1=2;
这样创建表的结构和员工表是一样的。但是里面没有数据。
--一次性将emp中所有的10号部门的员工插入到emp10。子查询可以和任何一个DML语句嵌套。
--使用子查询完成批量导入:会将后面select查询到的记录都插入到emp10中。
Insert into emp10 select * from emp wheredeptno=10;
--在update中嵌套子查询。
--更新114号员工的工作和工资使其与205号员工相同,可以通过子查询将114号的信息查询出来,在set到205中。
Update employees set job_id = (selectjob_id from employees where employee_id=205),salary = (select salary fromemployees where employee_id=205) where employee_id = 114;
--更新时的数据完整性错误,如果更新的值(比如子查询查出来的值)不存在,就会产生错误。
删除操作delete,truncate。
Truncate:清空表,只是清空数据,表结构还在,
与delete的区别是:
(1)delete是逐条删除数据;truncate是先摧毁表,再重建。
(2)最根本的区别是:delete是DML(可以回滚)语句,truncate是一个DDL(不可以回滚)语句。
(3)delete语句不会释放空间,truncate会释放空间。
(4)delete会产生碎片,truncate不会。
(5)delete可以闪回,truncate不可以闪回。
--关闭回显信息
Set feedback off
--删除的数据量大的时候,使用delete更快。
事务:
事务的标志:
起始标志:DML语句执行,就开始。
结束标志:提交à显示:commit,
隐式:正常退出exit。DDL语句默认隐式提交。
回滚à显示:rollback
隐式:非正常退出,停电,宕机。
Oracle中,事务不可以跨越DDL语句,比如执行了select操作,然后执行create操作,再执行DDL,则事务不连续。
通过设置会滚点SAVEPOINT
Create table testsavepoint (tidnumber,tname varchar2(20));
Set feedback on
Insert into testsavepoint values(1,’Tom’);
Insert into testsavepoint values(2,’Mary’);
--定义保存点:
Savepoint a;
--插入Mike,误插入成Mke,插入的数据错误,可以根据会滚点来回滚。
Insert into testsavepoint values(3,’Mke’);
Rollback to savepoint a;
Oracle只支持读已提交,和串行化,两种事务隔离级别。
Oracle支持三个事务隔离级别,它自己实现了一个隔离级别,还有read only。- oracle数据异常处理
- 处理oracle数据
- Oracle(七)-------------------------处理数据
- oracle处理数据
- oracle处理数据
- oracle 高效处理数据
- Oracle DB 处理数据
- Oracle:处理数据
- oracle--处理数据
- oracle处理重复插入数据
- Oracle处理Blob类型数据
- Oracle复杂数据的处理。
- Oracle学习(八):处理数据
- oracle,重点处理数据语句
- 【oracle学习】4.处理数据
- oracle 数据锁表处理
- jdbc处理Oracle中longrow类型数据
- jdbc处理Oracle中Blob类型数据
- 小河弹着动听的琴声
- Oracle:集合运算
- 大声地说出那憋了好久的话
- 送给正在看书的老师
- strcpy、 strncpy 和snprintf
- Oracle:处理数据
- /usr/bin/ld: cannot find -lssl
- 广场四周建了许多的渠道高大的灯柱子
- 我走在校园的渠道小路上发现嫩草已经吐绿
- CakePHP 2.0 でライブラリの読み込みAdd Star
- 为何 IntelliJ IDEA 比 Eclipse 更好
- 可我却能够时时刻刻感觉到它的存在秋天到了啊
- 在同学郭为妈妈的渠道精心安排下
- 我是满怀着棋牌游戏去的