oracle基础知识4

select table_name from user_tables; //查看数据库中的表
数据表间数据拷贝
insert into dept1(id,name) select deptno,dname from dept;
即id 与 deptno对应,name与dname对应
create table student2(
  name varchar2(20),
  age number(3),
  phone varchar2(20)
);
student表中只有name,age字段
insert into student2(name,age) select name,age from student; //将student表中字段复制到student2中
------------------------------------------------------------------------
update语句
update emp set sal=sal+88;
update emp set sal+1000,comm=comm+0.5 where empno=7778;
update student2
set age=age+1
;
update student2 set phone='010-666666' where name='张三';
-----------------------------------------------------------------
delete语句
delete emp;  delete from emp;等价
delete emp where empno =7778;
-----------------------------------------------------------------
merge语句
merge语句用于数据合并---根据条件在表中执行数据的修改或者插入操作,若插入的记录在目标中已经存在,则执行更新操作,否则执行插入操作。
eg:
create table test1(
 eid number(10),name varchar(20),birth date,salary number(8,2)
);
insert into test1 values(1001,'张三','20-5月-70',2300);
insert into test1 values(1002,'李四','1**月-73',6600);

create table test2(eid number(10),ename varchar2(20),birth date,salary number(8,2));

merge into test2  //test2为目标表
  using test1
on(test1.eid=test2.eid)
when matched then
 update set name=test1.name,birth=test.birth,salary=test1.salary
when not matched then
 insert(eid,name,birth,salary)values(test1.eid,test1.name,test1.birth,test1.salary);
-----------------------------------------------------------
事务控制(transaction)
组成单个逻辑工作单元的一系列操作被称为事务;
数据库事务有0-多条dml 语句、1条ddl,1条dcl语句组成
事务控制
通过将一组相关组合为一个要么全部成功、要么全部失败的逻辑工作单元,以简化错误恢复、提高应用程序的可靠性。
事务必须满足的acid属性
原子性,一致性,隔离性、持久性、
1.事务开始于第一条可执行语句
事务结束:
a,遇到commit或rollback
b,遇到ddl dcl
c 用户会话结束
d 系统崩溃
sql plus 中执行sql语句时可以设置是否自动提交,缺省设置为非自动提交。
show autocommit;
  .autocommit off
  .autocommit immediate
set autocommit on/off;

/////////////////////////////////////////////////////////
回滚与保存点
insert into dept values(55,'Adv','beijing');
insert into dept values(52,'sfe','shaihai');
savepoint p1;
insert into dept values(57,'Acc','Tianjing');//
----
select * from dept;
rollback to p1;
select * from dept;

 

你可能感兴趣的:(oracle基础知识4)