加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle--数据更新

发布时间:2020-12-12 13:20:09 所属栏目:百科 来源:网络整理
导读:数据增加--INSERT INTO... VALUES... 实例1: INSERT INTO myemp ( empno,ename,sal,job,comm,mgr,hiredate,deptno) VALUES ( 8899 , ‘ 张三 ‘ , 9000.0 , ‘ 程序员 ‘ , 100.0 , 7369 ,TO_DATE( ‘ 1979-11-23 ‘ , ‘ yyyy-mm-dd ‘ ), 40 ); ? 数据修

数据增加--INSERT INTO... VALUES...

实例1:

INSERT INTO myemp ( empno,ename,sal,job,comm,mgr,hiredate,deptno)

VALUES (8899,张三,9000.0,程序员,100.0,7369,TO_DATE(1979-11-23,yyyy-mm-dd),40);

?

数据修改--UPDATE 表名 SET 字段1=值1,字段2=字2,...,WHERE 更新条件

范例1:将SMITH的工资修改为8000,佣金修改为2000

UPDATE myemp SET sal = 8000.0,comm = 2000.0
WHERE ename = SMITH;

范例2:将ALLEN的工资修改为SCOTT的工资

1. 可以初步写出
UPDATE myemp SET sal = scott工资
WHERE ename = ALLEN;
2.SCOTT的工资为 SELECT sal FROM myemp WHERE ename = SCOTT‘;

3. 所以完整的形式是: UPDATE myemp SET sal = (SELECT sal FROM myemp WHERE ename = SCOTT) WHERE ename = ALLEN;

范例3:将低公司平均工资的雇员工资上涨20%

UPDATE myemp SET sal = sal * 1.2
WHERE sal < ( SELECT AVG(sal) FROM myemp );

范例4:将所有雇员的雇佣日期修改为今天

UPDATE myemp SET hiredate = sysdate;

?

数据删除--DELETE FROM 表名 WHERE 删除条件;

范例1:删除雇员编号是7566的雇员信息

DELETE FROM myemp WHERE empno = 7566;

范例2:删除雇员编号是7788,7902的雇员信息

DELETE FROM myemp WHERE empno IN (7788,7902);

范例3:删除高于平均工资的雇员信息

DELETE FROM myemp WHERE sal>(SELECT AVG(sal) FROM myemp);

范例4:删除全部记录

DELETE FROM myemp;

SQL中的逻辑删除和物理删除
在实际开发中基本都会有删除数据的需求,删除又分为逻辑删除和物理删除。下面说下二者的区别:

? ? 一、所谓的逻辑删除其实并不是真正的删除,而是在表中将对应的是否删除标识(is_del)或者说是状态字段(status)做修改操作。比如0是删除,1是未删除。在逻辑上数据是被删除的,但数据本身依然存在库中。

对应的sql语句一般是这样的:update... set status/is_del=...

这样在做查询操作的时候,就可根据此字段进行查询,有删除标识的即可不显示。

? ? 二、物理删除就是真正的从数据库中做删除操作了,对应的sql语句为 delete ... where ...做物理删除操作的数据将会不在库中了。--------------------- 作者:月光下的海 来源:CSDN 原文:https://blog.csdn.net/Anthony_1223/article/details/80474271 版权声明:本文为博主原创文章,转载请附上博文链接!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读