




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
八.操作数据-DML语句,目标,结束本节课后,应当达到如下目标:描述每个DML语句向一个表中插入数据更新一个表中数据行从一个表中删除行控制事务,数据操作语言,DML语句在下列情况下发生:往一个表中增加新行更改一个表中现有的行从一个表中删除掉现有的行一个事务由一组构成一个逻辑操作的DML语句组成,DEPT,DEPTNODNAMELOC-10ACCOUNTINGNEWYORK20RESEARCHDALLAS30SALESCHICAGO40OPERATIONSBOSTON,DEPT,DEPTNODNAMELOC-10ACCOUNTINGNEWYORK20RESEARCHDALLAS30SALESCHICAGO40OPERATIONSBOSTON,向一个表中增加新行,“向DEPT表中增加新行”,INSERTINTOtable(column,column.)VALUES(value,value.);,INSERT语句,使用INSERT语句向表中增加新行.使用这种方法只能一次插入一行数据.,SQLINSERTINTOdept(deptno,dname,loc)2VALUES(50,DEVELOPMENT,DETROIT);1rowcreated.,插入新行,插入包含每一个列值的新行.按缺省顺序列出表中所有的列值.列出INSERT子句中所有的列,这是可选的.日期值和字符值要用单引号括起来.,SQLINSERTINTOdept(deptno,dname)2VALUES(60,MIS);1rowcreated.,SQLINSERTINTOdept2VALUES(70,FINANCE,NULL);1rowcreated.,插入带有空值的行,省略的方法:从列的链表忽略有空值的列,明确的方法:指定NULL关键字,SQLINSERTINTOemp(empno,ename,job,2mgr,hiredate,sal,comm,3deptno)4VALUES(7196,GREEN,SALESMAN,57782,SYSDATE,2000,NULL,610);1rowcreated.,插入特殊的值,SYSDATE函数取出当前的日期的时间.,SQLINSERTINTOemp2VALUES(2296,AROMANO,SALESMAN,7782,3TO_DATE(03-2月1997,DD-MON,YYYY),41300,NULL,10);1rowcreated.,EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO-2296AROMANOSALESMAN778203-2月-97130010,插入特殊的日期值,增加一个新的员工,检验结果.,SQLINSERTINTOmanagers(id,name,salary,hiredate)2SELECTempno,ename,sal,hiredate3FROMemp4WHEREjob=MANAGER;3rowscreated.,从另一个表中拷贝行,创建带有子查询的INSERT语句。不要使用VALUES子句.子查询中的列要与INSERT子句中的列相匹配.,通过使用SQL*Plus的替代参数创建交互脚本,SQLINSERTINTOdept(deptno,dname,loc)2VALUES(,Entervaluefordepartment_id:80Entervaluefordepartment_name:EDUCATIONEntervalueforlocation:ATLANTA1rowcreated.,替代变量插入值,INSERTINTO(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语句中使用子查询,EMP,EMP,EMPNOENAMEJOB.DEPTNO7839KINGPRESIDENT107698BLAKEMANAGER307782CLARKMANAGER107566JONESMANAGER20.,EMPNOENAMEJOB.DEPTNO7839KINGPRESIDENT107698BLAKEMANAGER307782CLARKMANAGER107566JONESMANAGER20.,改变一个表中的数据,UPDATEtableSETcolumn=value,column=value,.WHEREcondition;,UPDATE语句,使用UPDATE语句更改现有的行.如果需要,可以一次更改多行.,SQLUPDATEemp2SETdeptno=203WHEREempno=7782;1rowupdated.,SQLUPDATEemployee2SETdeptno=20;14rowsupdated.,更改表中的行,使用WHERE子句来指定要修改的行.如果忽略WHERE子句,那么句子中所有的值都将被更改.,SQLUPDATEemp2SET(job,deptno)=3(SELECTjob,deptno4FROMemp5WHEREempno=7499)6WHEREempno=7698;1rowupdated.,用多列子查询进行修改,更改7698号雇员的工作和部门,与第7499号雇员进行匹配.,SQLUPDATEemployee2SETdeptno=(SELECTdeptno3FROMemp4WHEREempno=7788)5WHEREjob=(SELECTjob6FROMemp7WHEREempno=7788);2rowsupdated.,使用子查询更新两列,在UPDATE语句中,使用子查询来进行更改,更改的数据与其它表中的数据有关.,UPDATEemployeesSETjob_id=(SELECTjob_idFROMemployeesWHEREemployee_id=205),salary=(SELECTsalaryFROMemployeesWHEREemployee_id=205)WHEREemployee_id=114;1rowupdated.,使用子查询更新两列,将员工号为114的工作岗位和工资改成与员工205相同的,DEPT,DEPTNODNAMELOC-10ACCOUNTINGNEWYORK20RESEARCHDALLAS30SALESCHICAGO40OPERATIONSBOSTON50DEVELOPMENTDETROIT60MIS.,从一个表中移去一行,DELETEFROMtableWHEREcondition;,DELETE语句,可以使用DELETE语句从表中删去现存的行.,SQLDELETEFROMdepartment2WHEREdname=DEVELOPMENT;1rowdeleted.,SQLDELETEFROMdepartment;4rowsdeleted.,从一个表中删去行,使用WHERE子句以指定哪些行应当被删去.如果忽略WHERE子句,那么表中所有的数据.,SQLDELETEFROMemployee2WHEREdeptno=3(SELECTdeptno4FROMdept5WHEREdname=SALES);6rowsdeleted.,参照另一个表来删除行,使用子查询,使得DELETE语句能从另一个表中删除某些行.,TRUNCATE语句,删除表中的所有数据,保留表结构是DDL语句,不是DML语句Syntax:Example:,TRUNCATETABLEtable_name;,TRUNCATETABLEcopy_emp;,数据库事务,要么全部完成,要么全部废弃的操作集合。一个事务可以包含下列语句:对数据做出一致性修改的DML语句。一个DDL语句一个DCL语句,数据库事务,以第一个可执行的SQL语句开始。以下列情况结束:执行COMMIT或者ROLLBACK语句执行DDL或者DCL语句用户退出系统崩溃,保证数据的一致性在数据永久改变之前,检查数据的改变对逻辑相关的操作进行分组,COMMIT和ROLLBACK语句的优点,隐式事务处理,在下列环境下,一个自动提交发生:处理DDL语句处理DCL语句从SQL*Plus中退出,而没有明确指定COMMIT或者ROLLBACK当SQL*Plus中断或者系统失败时自动进行回滚.,之前的状态可以被恢复.当前的用户可以用SELECT语句来查看DML操作后的结果.其它用户看不到当前用户使用DML语句进行数据操纵的结果.产生改变的数据被加锁,其它用户不能改变这些行.,COMMIT或ROLLBACK之前数据状态,在COMMIT之后的数据状态,数据的改变将被永久的反应到数据库中去.事务前面的数据状态将被永久地丢弃.所有的用户可以查看结果.加在产生改变的行上的数据被解锁;这些行对于其他用户是可用的.所有的保存点被释放.,SQLUPDATEemp2SETdeptno=103WHEREempno=7782;1rowupdated.,SQLCOMMIT;Commitcomplete.,提交数据,产生改变.,Committhechanges,SQLDELETEFROMemployee;14rowsdeleted.SQLROLLBACK;Rollbackcomplete.,回滚后的数据状态,使用ROLLBACK语句丢弃所有的数据改变.数据的改变失效.事务之前的数据状态改变.在改变行的上的锁被释放.,控制事物,SAVEPOINTB,SAVEPOINTA,DELETE,INSERT,UPDATE,INSERT,COMMIT,Time,Transaction,ROLLBACKtoSAVEPOINTB,ROLLBACKtoSAVEPOINTA,ROLLBACK,SQLUPDATE.SQLSAVEPOINTupdate_done;Savepointcreated.SQLINSERT.SQLROLLBACKTOupdate_done;Rollbackcomplete.,回滚到某个标记,使用SAVEPOINT语句在当
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服务水平协议编写及更新指导书
- 《人工智能基础:机器学习入门教学方案》
- 2025北京顺义区北务镇卫生院招聘编外人员3人模拟试卷有答案详解
- 企业培训计划编制模板全员培训与提升版
- 2025吉林白山抚松县招聘高中教师9人模拟试卷及一套参考答案详解
- 2025内蒙古赤峰市克旗银都矿业招聘4人考前自测高频考点模拟试题及答案详解参考
- 2025年泰安新泰市市属国有企业公开招聘考前自测高频考点模拟试题及一套答案详解
- 社会责任感践行承诺书3篇
- 2025河南郑州联勤保障中心二季度社会人才招聘132人模拟试卷及一套完整答案详解
- 2025河南郑州航空港投资集团面向社会招聘25名考前自测高频考点模拟试题附答案详解
- GB/T 44329-2024混合气体的制备称量法
- 动物生理学智慧树知到期末考试答案章节答案2024年浙江大学
- 2023浙教版八年级上数学知识点
- 输变电工程施工质量验收统一表式附件1:线路工程填写示例
- 安全总结模板
- 2024年四川成都市青白江区弥牟镇执法辅助人员招聘笔试参考题库附带答案详解
- 《电力设备典型消防规程》(DL 5027-2015)宣贯
- 昆虫学与农业害虫防治
- 信访工作培训课件
- 道路保洁安全培训课件
- 第12课+自觉抵制犯罪(课时2)【中职专用】中职思想政治《职业道德与法治》高效课堂(高教版2023·基础模块)
评论
0/150
提交评论