数据更新与事务处理

一、数据更新
1、将emp表复制为myemp表

create table myemp as select* from emp;

2、数据增加
insert into 表名称[(列名称1,列名称2...)] values (值1,值2...)
但是在增加数据的时候,针对于数据增加的内容有如下说法:
字符串:" . ",例如:'mldn';
数字直接编写:例如:100;
日期:当前日期(sysdate),使用to_date()转换,按照日期格式编写字符串(自动转换)
①使用完整格式编写,写上要增加数据列的名称

insert into 
myemp(empno,ename,job,mgr,hiredate,sal)
values (001,'张三','收银员',7900,
to_date('2018-5-6','yyyy-mm-dd'),7800);

②数据更新
update 表名称 set 字段1=值1,字段2=值2...[where 更新条件(s)];
将ALLEN的工资修改为scott的工资

update myemp set sal=(select sal from 
emp where ename='SCOTT') 
where ename='ALLEN';

如果更新影响了多行记录,那么也会同时返回更新的数据量的信息。

将所有雇员的雇佣日期修改为今天

update myemp set hiredate=sysdate;
hiredate.png

总结:以后只要写更新操作,不可能不写where子句。
③数据删除
delete from 表名称 [where 删除条件(s)]
删除编号为7369的员工

delete from myemp where empno=7369;

删除所有的内容

delete from myemp;

删除都是危险操作

3、事务处理
session (会话,以后只要是此概念都表示唯一的一个用户登录);
commit 事物提交
rollback 事物回滚操作
使用delete删除的数据,只要没有进行事物的提交,就还在缓冲区中,使用rollback进行事物的回滚,恢复数据,如果提交了事物,就无法进行数据的恢复。


rollback.png

4、认识死锁
一个session会等待另一个session执行完毕后,才执行更新,只有更新操作才会存在事务处理,DDL不支持事务处理。

你可能感兴趣的:(数据更新与事务处理)