数据库概论 SQL_数据更新.pptx

数据库概论 SQL_数据更新.pptx

ID:55781306

大小:8.26 MB

页数:22页

时间:2020-06-07

数据库概论  SQL_数据更新.pptx_第1页
数据库概论  SQL_数据更新.pptx_第2页
数据库概论  SQL_数据更新.pptx_第3页
数据库概论  SQL_数据更新.pptx_第4页
数据库概论  SQL_数据更新.pptx_第5页
资源描述:

《数据库概论 SQL_数据更新.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章SQL数据更新SQL数据更新功能InsertDeleteTruncateUpdateOutputMerge@@ROWCOUNT返回受上一语句影响的行数任何不返回行的语句将这一变量设置为0select*fromSselect@@rowcount插入操作的命令格式insertinto表名[(列名[,列名]…]values(值[,值]…)插入一条指定好值的行insertinto表名[(列名[,列名]…](子查询)插入子查询结果中的若干行插入显式行insertintoPROFvalues(P123,“王明”,35,D08,498),(P124,“李明”,38,D01,698)

2、insertintoPROF(P#,PNAME,D#)values(P123,“王明”,D08)思考:SAL取何值?如何防止插入带有空值的元组?插入子查询将平均成绩大于90的学生加入到EXCELLENT中insertintoEXCELLENT(S#,GRADE)selectS#,avg(GRADE)fromSCgroupby(S#)havingavg(GRADE)>90selectS#,avg(GRADE)intoEXCELLENT(S#,GRADE)fromSCgroupby(S#)havingavg(GRADE)>90批量插入复制一个数据文件至数据库表中bulkinse

3、rt表名from数据文件with(batchsize=指定批处理中的行数,check_constraints,datafiletype=数据文件类型,fieldterminator=字段终止符,maxerrors=所容忍的最大错误数目,rowterminator=行终止符)删除操作的命令格式deletefrom表名[where条件表达式]从表中删除符合条件的元组,如果没有where语句,则删除所有元组示例:清除所有选课记录deletefromSC删除操作示例删除王明老师所有的任课记录deletefromPCwhereP#in(selectP#fromPROFwherePNA

4、ME=“王明”)deletefromXfromPCXjoinPROFonX.p#=PROF.p#wherePNAME=“王明”删除操作删除低于平均工资的老师记录deletefromPROFwhereSAL<(selectavg(SAL)fromPROF)思考:是先找到所有符合条件的行,一并删除,还是找到一个删除一个?清空表truncatetable删除表中的所有行,而不记录单个行删除操作truncatetable在功能上与不带where子句的delete语句相同。但truncatetable比delete速度快,且使用的系统和事务日志资源少identity计数器重置为种子值

5、更新操作的命令格式update表名set列名=表达式

6、子查询列名=[,表达式

7、子查询]…[where条件表达式]指定对哪些列进行更新,以及更新后的值是什么示例:老师工资上调5%updatePROFsetSAL=SAL*1.05更新操作将D01系系主任的工资改为该系的平均工资updatePROFsetSAL=(selectavg(SAL)fromPROFwhereD#=D01)whereP#=(selectDEANfromDEPTwhereD#=D01)更新操作当C1课程的成绩小于该课程的平均成绩时,将该成绩提高5%updateSCsetGRADE=GRADE*1.05whe

8、reC#=C1andGRADE<(selectavg(GRADE)fromSCwhereC#=C1)如果是对任何一门课程呢墨菲定律工资超过2000的缴纳10%所得税,其余的缴纳5%所得税①updatePROFsetSAL=SAL*0.9whereSAL>2000②updatePROFsetSAL=SAL*0.95whereSAL<=2000updatePROFsetSAL=caseSALwhenSAL>2000thenSAL*0.9whenSAL<=2000thenSAL*0.95执行顺序是①,②,还是②,①?1-(1-p)n行拷贝:覆盖多列R(ID,A,B),S(ID,A

9、,B)updateRsetA=(selectS.AfromSwhereR.ID=S.ID),B=(selectS.BfromSwhereR.ID=S.ID)updateRsetR.A=S.A,R.B=S.BfromRjoinSonR.ID=S.IDwithupdateCTE(selectR.AA1,R.BB1,S.AA2,S.BB2fromRjoinSonR.ID=S.ID)updateupdateCTEsetA1=A2,B1=B2Output:记录更新历史执行修改操作只返回影响了多少行的信息,无从获知到底影响到了

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。