版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
oracle操作数据-DML语句2024/4/2oracle操作数据DML语句oracle操作数据-DML语句2024/4/1oracle1目标结束本节课后,应当达到如下目标:描述每个DML语句向一个表中插入数据更新一个表中数据行从一个表中删除行控制事务oracle操作数据DML语句目标结束本节课后,应当达到如下目标:oracle操作数据DM2数据操作语言DML语句在下列情况下发生:往一个表中增加新行更改一个表中现有的行从一个表中删除掉现有的行一个事务由一组构成一个逻辑操作的DML语句组成oracle操作数据DML语句数据操作语言DML语句在下列情况下发生:oracle操作数据3
DEPTDEPTNODNAME LOC---------------- --------10 ACCOUNTING NEWYORK20 RESEARCH DALLAS30 SALES CHICAGO40 OPERATIONS BOSTON
新行50 DEVELOPMENT DETROIT
DEPTDEPTNODNAME LOC---------------- --------10 ACCOUNTING NEWYORK20 RESEARCH DALLAS30 SALES CHICAGO40 OPERATIONS BOSTON
50 DEVELOPMENT DETROIT向一个表中增加新行“…向DEPT表中增加新行…”oracle操作数据DML语句DEPTDEPTNODNAME LOC4INSERTINTO table[(column[,column...])]VALUES (value[,value...]);INSERT语句使用INSERT语句向表中增加新行.
使用这种方法只能一次插入一行数据.oracle操作数据DML语句INSERTINTO table[(column[,5SQL>INSERTINTO dept(deptno,dname,loc)2VALUES (50,'DEVELOPMENT','DETROIT');1rowcreated.插入新行插入包含每一个列值的新行.按缺省顺序列出表中所有的列值.列出INSERT子句中所有的列,这是可选的.
日期值和字符值要用单引号括起来.oracle操作数据DML语句SQL>INSERTINTO dept(deptno,6SQL>INSERTINTO dept(deptno,dname)2VALUES (60,'MIS');1rowcreated.SQL>INSERTINTO dept2VALUES (70,'FINANCE',NULL);1rowcreated.插入带有空值的行省略的方法:从列的链表忽略有空值的列明确的方法:指定NULL关键字oracle操作数据DML语句SQL>INSERTINTO dept(deptno,7SQL>INSERTINTO emp(empno,ename,job,2 mgr,hiredate,sal,comm,3 deptno)4VALUES (7196,'GREEN','SALESMAN',5 7782,SYSDATE,2000,NULL,6 10);1rowcreated.插入特殊的值SYSDATE函数取出当前的日期的时间.oracle操作数据DML语句SQL>INSERTINTO emp(empno,e8SQL>INSERTINTOemp2VALUES(2296,'AROMANO','SALESMAN',7782,3 TO_DATE('03-2月1997','DD-MON,YYYY'),4 1300,NULL,10);1rowcreated.EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO-----------------------------------------------2296AROMANOSALESMAN778203-2月-97130010插入特殊的日期值增加一个新的员工检验结果.oracle操作数据DML语句SQL>INSERTINTOempEMPNOENAM9SQL>INSERTINTOmanagers(id,name,salary,hiredate)2 SELECT empno,ename,sal,hiredate3 FROMemp4 WHERE job='MANAGER';3rowscreated.从另一个表中拷贝行创建带有子查询的INSERT语句。
不要使用VALUES子句.子查询中的列要与INSERT子句中的列相匹配.oracle操作数据DML语句SQL>INSERTINTOmanagers(id,10通过使用SQL*Plus的替代参数创建交互脚本SQL>INSERTINTO dept(deptno,dname,loc)2VALUES (&department_id,3'&department_name','&location');Entervaluefordepartment_id:80Entervaluefordepartment_name:EDUCATIONEntervalueforlocation:ATLANTA1rowcreated.替代变量插入值oracle操作数据DML语句通过使用SQL*Plus的替代参数创建交互脚本SQL>IN11INSERTINTO(SELECTemployee_id,last_name,email,hire_date,job_id,salary,department_idFROMemployeesWHEREdepartment_id=50)VALUES(99999,'Taylor','DTAYLOR',TO_DATE('07-7月-99','DD-MON-RR'),'ST_CLERK',5000,50);1rowcreated.在INSERT语句中使用子查询oracle操作数据DML语句INSERTINTO在INSERT语句中使用子查询orac12
EMP“…更改EMP表中的一行数据…”EMPEMPNO ENAME JOB ...DEPTNO7839 KING PRESIDENT 107698 BLAKE MANAGER 307782 CLARK MANAGER 107566 JONES MANAGER 20...20EMPNO ENAME JOB ...DEPTNO7839 KING PRESIDENT 107698 BLAKE MANAGER 307782 CLARK MANAGER 107566 JONES MANAGER 20...改变一个表中的数据oracle操作数据DML语句EMP“…更改EMP表中的一行数据…”EMPEMPN13UPDATE tableSET column=value[,column=value,...][WHERE condition];
UPDATE语句使用UPDATE语句更改现有的行.
如果需要,可以一次更改多行.oracle操作数据DML语句UPDATE tableUPDATE语句使用UPDA14SQL>UPDATE emp2SET deptno=203WHERE empno=7782;1rowupdated.SQL>UPDATE employee2SET deptno=20;14rowsupdated.更改表中的行使用WHERE子句来指定要修改的行.如果忽略WHERE子句,那么句子中所有的值都将被更改.oracle操作数据DML语句SQL>UPDATE empSQL>UPDATE e15SQL>UPDATEemp2SET(job,deptno)=3 (SELECTjob,deptno4FROMemp5WHEREempno=7499)6WHEREempno=7698;1rowupdated.用多列子查询进行修改更改7698号雇员的工作和部门,与第7499号雇员进行匹配.oracle操作数据DML语句SQL>UPDATEemp用多列子查询进行修改更改7616SQL> UPDATE employee2 SET deptno=(SELECT deptno3 FROM emp 4 WHERE empno=7788)5 WHERE job=(SELECT job6 FROM emp7 WHERE empno=7788);2rowsupdated.使用子查询更新两列在UPDATE语句中,使用子查询来进行更改,更改的数据与其它表中的数据有关.oracle操作数据DML语句SQL> UPDATE employee使用子查询更新两列在17UPDATEemployeesSETjob_id=(SELECTjob_idFROMemployeesWHEREemployee_id=205),salary=(SELECTsalaryFROMemployeesWHEREemployee_id=205)WHEREemployee_id=114;1rowupdated.使用子查询更新两列将员工号为114的工作岗位和工资改成与员工205相同的oracle操作数据DML语句UPDATEemployees使用子查询更新两列将员工18
“…从一个表中删去一行…”DEPTDEPTNODNAME LOC---------------- --------10 ACCOUNTING NEWYORK20 RESEARCH DALLAS30 SALES CHICAGO40 OPERATIONS BOSTON50 DEVELOPMENT
DETROIT60 MIS ...
DEPTDEPTNODNAME LOC---------------- --------10 ACCOUNTING NEWYORK20 RESEARCH DALLAS30 SALES CHICAGO40 OPERATIONS BOSTON60 MIS ...从一个表中移去一行oracle操作数据DML语句DEPTDEPTNODNAME LOC19DELETE[FROM] table[WHERE condition];DELETE语句
可以使用DELETE语句从表中删去现存的行.oracle操作数据DML语句DELETE[FROM] tableDELETE语句20SQL>DELETEFROM department2WHERE dname='DEVELOPMENT';1rowdeleted.SQL>DELETEFROM department;4rowsdeleted.从一个表中删去行使用WHERE子句以指定哪些行应当被删去.
如果忽略WHERE子句,那么表中所有的数据.oracle操作数据DML语句SQL>DELETEFROM departmentSQL21SQL>DELETEFROM employee2WHERE deptno=3 (SELECTdeptno4 FROMdept5 WHEREdname='SALES');6rowsdeleted.参照另一个表来删除行使用子查询,使得DELETE语句能从另一个表中删除某些行.oracle操作数据DML语句SQL>DELETEFROM employee参照另一个22TRUNCATE语句删除表中的所有数据,保留表结构是DDL语句,不是DML语句Syntax:Example:TRUNCATETABLEtable_name;TRUNCATETABLEcopy_emp;oracle操作数据DML语句TRUNCATE语句删除表中的所有数据,保留表结构TRUNC23数据库事务要么全部完成,要么全部废弃的操作集合。一个事务可以包含下列语句:对数据做出一致性修改的DML语句。一个DDL语句一个DCL语句oracle操作数据DML语句数据库事务要么全部完成,要么全部废弃的操作集合。oracle24数据库事务以第一个可执行的SQL语句开始。以下列情况结束:执行COMMIT或者ROLLBACK语句执行DDL或者DCL语句用户退出系统崩溃oracle操作数据DML语句数据库事务以第一个可执行的SQL语句开始。oracle操25保证数据的一致性在数据永久改变之前,检查数据的改变对逻辑相关的操作进行分组COMMIT和ROLLBACK语句的优点oracle操作数据DML语句保证数据的一致性COMMIT和ROLLBACK语句的优点or26隐式事务处理在下列环境下,一个自动提交发生:处理DDL语句处理DCL语句从SQL*Plus中退出,而没有明确指定COMMIT或者ROLLBACK当SQL*Plus中断或者系统失败时自动进行回滚.oracle操作数据DML语句隐式事务处理在下列环境下,一个自动提交发生:oracle操作27之前的状态可以被恢复.当前的用户可以用SELECT语句来查看DML操作后的结果.其它用户看不到当前用户使用DML语句进行数据操纵的结果.产生改变的数据被加锁,其它用户不能改变这些行.COMMIT或ROLLBACK之前数据状态oracle操作数据DML语句之前的状态可以被恢复.COMMIT或ROLLBACK之前数28在COMMIT之后的数据状态数据的改变将被永久的反应到数据库中去.事务前面的数据状态将被永久地丢弃.所有的用户可以查看结果.加在产生改变的行上的数据被解锁;这些行对于其他用户是可用的.所有的保存点被释放.oracle操作数据DML语句在COMMIT之后的数据状态数据的改变将被永久的反应到数据29SQL>UPDATE emp2SET deptno=103WHERE empno=7782;1rowupdated.SQL>COMMIT;Commitcomplete.提交数据产生改变.Committhechangesoracle操作数据DML语句SQL>UPDATE empSQL>COMMIT;提交数30SQL>DELETEFROM employee;14rowsdelet
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智能电网储能系统工程师V2G技术实践
- 康复辅助技术咨询师技能理论水平考核试卷含答案
- 机动车检测工岗中岗后考核试卷含答案
- 吸油烟机制作工岗前团队合作考核试卷含答案
- 普通车工岗位综合评价考核试卷含答案
- 2026年家居智能化高级架构师招聘笔试试卷 招录13人王牌题库
- 2026年保险科技高级研发专家招聘笔试试卷 招录12人大全
- 2026年湖南省冷水江市高三数学下册期末考试模拟试卷附参考答案(能力提升)
- 2026年辽宁省开原市高三数学下册期末考试模拟卷附完整答案(易错题)
- 2026年广东省信宜市高三数学下册期末考试模拟测试卷含完整答案【历年真题】
- 2026年校招:太平洋保险笔试题及答案
- 妇产科产前筛查工作汇报
- 选品与采购 课件全套 项目1-5 选品与采购基础 - 商品采购管理
- 蔬菜入库验收操作标准流程
- 裂解裂化工艺安全操作培训教材
- 【低空经济】低空监控平台设计方案
- TICW21-2019工业机器人用柔性电缆技术规范
- 社区端午包粽子活动材料准备服务费合同
- 宫颈TCT课件教学课件
- 服饰搭配讲解课件
- 初中道德与法治项目化学习探究实例
评论
0/150
提交评论