Oracle数据库——更新操作和事务处理

目录

复制表

插入数据

修改数据:

删除数据(属于危险操作):

事务处理(死锁)


复制表

此列语法仅Oracle支持

CREATE TABLE myemp AS SELECT * FROM emp;

表已创建。

插入数据

  • 完整格式:INSERT INTO 表名称[(列名称1,列名称2,...)]VALUES(值1,值2....);            (建议使用)
  • 简化格式:INSERT INTO 表名称 VALUES(值1,值2....);

若不添加所有列的数据:

  1. 明确一个字段内容为null;
  2. 不编写不需要的内容,那个字段就会默认填充
INSERT INTO MYEMP VALUES(6666,'LUJJ','CEO',NULL,TO_DATE('2018-09-24','yyyy-mm-dd'),10000,NULL,10);

修改数据:

写更新操作,必写WHERE子句

格式:UPDATE 表名称 SET 字段1=值1,字段2=值2,...[WHERE 更新条件]

UPDATE MYEMP SET JOB='CTO' WHERE ENAME='LUJJ';

例:将工资低于平均工资的提升50%

update myemp
SET SAL=sal*1.5
WHERE SAL<(SELECT AVG(SAL) FROM myemp);

删除数据(属于危险操作):

两种删除方式:

  1. 物理删除(DELETE FROM):彻底从表中删除记录;
  2. 逻辑删除:增加一个逻辑字段;例:当设flg=1时表示删除,flg=0时表示未删除;查看时增加一个限定条件,SELECT * FROM .....WHERE flg=0查看未删除数据。在工作中较为常用

格式:DELETE FROM 表名称[WHERE 删除条件]

DELETE FROM myemp  WHERE empno IN (7369,7499);

事务处理(死锁)

只有在更新操作才会存在事务处理

ROLLBACK:恢复初始

COMMIT:事务提交

当更新操作未提交,则会保存在缓冲区中,若是不提交,重新打开数据依旧是原始值

每一个session都有自己独立的事务处理,不同session对同一条数据进行事务处理的时候,当第一个session未提交完成,第二个session会处于等待状态 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值