1、课程名称
数据更新
2、参考图书
《Oracle开发实战经典》
3、视频下载
http://pan.http://www.wodefanwen.com//s/1sjv119r
4、笔记内容
首先针对于DML操作在定义本身分为两类:查询、更新,对于查询而言,是整个DML之中最为复杂的部分,所以此部分也被称为DQL,而更新操作主要包含有三种:增加、修改、删除。但是考虑到在日后emp表还有继续使用的情况,所以下面首先将emp表复制为myemp表,执行如下的操作。 范例:将emp复制为myemp
CREATE TABLE myemp AS SELECT * FROM emp ; 但是此类的复制语法只是复制数据本身,约束、关系等等全都不会复制,而且只有Oracle可以使用此语法。 4.1、数据增加 如果要想实现数据增加操作,则可以使用以下操作语法完成: INSERT INTO 表名称 [(字段,字段,...)] VALUES (值,值,...) ; 但是针对于现在所接触到的数据类型: · 字符串:要求使用“'”声明,例如:'hello'; · 数字:直接编写具体的数字,例如:120;
· 日期:如果是当前日期使用SYSDATE,如果是自定义日期可以按照指定的格式编写字符串或者使用TO_DATE()函数将字符串变为日期型数据; 范例:增加一行新的数据
· 使用完整方式实现数据增加:
INSERT INTO myemp(empno,ename,job,hiredate,mgr,sal,comm,deptno) VALUES (8001,'从增光','清洁工',TO_DATE('1911-11-11','yyyy-mm-dd'),null,100,-100,40) ; INSERT INTO myemp(empno,ename,job,hiredate,sal,comm) VALUES (8001,'何成','马桶工',TO_DATE('1811-11-11','yyyy-mm-dd'),150,-100) ; · 使用简便方式实现数据增加: INSERT INTO myemp VALUES (8003,'从减光','清洁工',null,TO_DATE('1911-11-11','yyyy-mm-dd'),100,-100,40) ; 很明显,考虑到日后代码的可维护性,一定要使用完整的语法进行数据的增加。 4.2、数据修改 如果要修改表之中已有的数据内容,则可以采用如下的语法完成: UPDATE 表名称 SET 字段=值,字段=值,.. [WHERE 更新条件(s)] 如果在编写UPDATE语句的时候,没有编写任何的更新条件,则表示更新表之中的全部数据。 范例:要求将SMITH的工资修改为5500,佣金修改为5000 UPDATE myemp SET sal=5500,comm=5000 WHERE ename='SMITH' ; 范例:将所有销售人员的工资统一修改为2000 UPDATE myemp SET sal=2000 WHERE job='SALESMAN' ; 实际上在进行所有数据更新的时候,都会返回数据的更新行数,如果是增加,会显示影响的行数,同样对于删除也会出现影响的行数。在以后编写程序的时候就可以通过是否有更新行数来判断某一个更新操作是否成功。 范例:将公司雇佣最早的雇员工资增长10% 第一步:最早的雇佣日期,返回单行单列数据
SELECT MIN(hiredate) FROM myemp ; 第二步:以上面的条件进行数据修改的过滤条件 UPDATE myemp SET sal=sal*1.1 WHERE hiredate=(SELECT MIN(hiredate) FROM myemp) ; 范例:将公司工资最低的雇员的工资修改为公司的平均工资 第一步:知道公司的平均工资 SELECT AVG(sal) FROM myemp ; 第二步:以上面返回的数值作为sal的内容 UPDATE myemp SET sal=( SELECT AVG(sal) FROM myemp) WHERE sal=(SELECT MIN(sal) FROM myemp) ; 范例:将所有雇员的雇佣日期修改今天日期 UPDATE myemp SET hiredate=SYSDATE ; 不加更新条件的修改操作一般都很少出现,但是会有可能出现。 4.3、数据删除 当表中有些数据行不再需要的时候,就可以直接利用如下语法删除: DELETE FROM 表名称 [WHERE 删除条件(s)] 范例:删除30部门的所有雇员 DELETE FROM myemp WHERE deptno=30 ; 发现在执行删除的时候依然会返回影响的数据行。 范例:删除掉公司工资最高的雇员
DELETE FROM myemp WHERE sal=(SELECT MAX(sal) FROM myemp) ; 范例:删除掉那些没有领导的雇员 DELETE FROM myemp WHERE mgr IS NULL ; 范例:所有员工删除 DELETE FROM myemp ; 与修改操作一样,很少有人干这事,而且多提示一句,在实际的工作之中,很少执行这样的物理数据删除。 说明:关于数据的删除操作 · 在实际的工作之中,对于有用的真实数据还是需要保留的,所以对于数据轻易不会删除; · 如果真的存在了删除数据的一个功能,那么往往有两种实现方式: |- 数据的物理删除:直接执行DELETE语句,删除所有的数据; |- 数据的逻辑删除:增加一个列,例如:这个列的内容为0表示是活跃数据,如果这个列的内容为1表示此数据已经被删除了,那么在查询的时候多增加一个查询的条件,来表示查询全部数据,执行的是UPDATE;
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库00300013 - MLDN-魔乐科技-李兴华Oracle数据库 - 数据更新在线全文阅读。
相关推荐: