SQL语言及TSQL的应用(上海电力学院)ppt课件.ppt

SQL语言及TSQL的应用(上海电力学院)ppt课件.ppt

ID:58879665

大小:1.02 MB

页数:75页

时间:2020-09-30

SQL语言及TSQL的应用(上海电力学院)ppt课件.ppt_第1页
SQL语言及TSQL的应用(上海电力学院)ppt课件.ppt_第2页
SQL语言及TSQL的应用(上海电力学院)ppt课件.ppt_第3页
SQL语言及TSQL的应用(上海电力学院)ppt课件.ppt_第4页
SQL语言及TSQL的应用(上海电力学院)ppt课件.ppt_第5页
资源描述:

《SQL语言及TSQL的应用(上海电力学院)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章SQL语言及T-SQL的应用 (3)实例分析:StudentCourseSC返回3.4数据操纵语言SQL中数据更新包括插入数据、修改数据和删除数据三条语句。3.4.1插入数据INSERT语句两种形式:(1)插入一个元组。(2)插入子查询结果。一、插入单个元组INSERTINTO<表名>[(<列名1>,<列名2>,…)]VALUES(<值1>[,<值2>]…);注:INTO子句中没有出现的属性列,新记录在这些列上将取空值。例1、向学生基本情况表(student)中插入一条记录(学号:20041020;姓名:陈林;性别:取默认值’男’;出生年月:1978-01-11;所在系:CS

2、;)。INSERTINTOstudentVALUES('20041020','陈林',default,'1978-01-11','CS')思考:下例执行语句正确吗?INSERTINTOstudentVALUES('20041020','陈林','1978-01-11','CS')不正确!实例另一正确语句:INSERTINTOstudent(sno,sname,birthday,sdept)VALUES('20041020','陈林','1978-01-11','MA')例2、插入一条选课记录,学号:‘20041020’,课程号:‘001’。INSERTintoSC(Sno,Cno)

3、VALUES(‘20041020',‘001');思考:插入后,grade列上取何值?插入后,在该记录的grade列上取空值。二、插入子查询结果子查询可以嵌套在INSERT语句中,用以生成要插入的批量数据。INSERTINTO<表名>[(<属性列1>[,<属性列2>]…)]子查询;例3、对每一个系,求学生的平均年龄,并把结果存入数据库。第一步:在数据库中创建一个新表,关系模式为Dep(Sdept,Avgage)。CreatetableDep(SdeptCHAR(2),AvgageSMALLINT);第二步:对Dep插入对student表按系组求平均年龄的查询结果值。INSERTIN

4、TODep(Sdept,Avgage)selectSdept,AVG(year(getdate())-year(birthday))fromstudentgroupbySdept;可以不写这列属性吗?不可以!实例3.4.2删除数据删除命令比较简单,删除是对记录操作,不能删除记录的部分属性。一次可以删除一条和若干条记录,甚至将整个表的内容删空,只保留表的结构定义。删除命令格式为:DELETEFROM<表名>[WHERE<条件>];例4、删除学号为20041020的学生记录。ifexists(select*fromstudentwheresno='20041020')deletefro

5、mstudentwheresno='20041020'例5、删除所有学生的选课信息。DELETEFROMSC实例与例5功能等价的另一T-SQL语句:TRUNCATETABLESC功能:删除表中的所有数据优点:更快、使用系统和日志资源少。※带子查询的删除语句例6、删除计算机系所有学生的选课记录。DELETEFROMSCWHEREsnoin(SELECTsnoFROMStudentWHEREsdept='计算机系');思考:采用相关子查询,子查询结果集为计算机系该如何实现?实例另一种正确方法如下:DELETEFROMSCWHERE'计算机系'=(SELECTSdeptFROMStude

6、ntWHEREStudent.Sno=SC.Sno);3.4.3修改数据修改数据的语句格式一般是:UPDATE<表名>SET<列名1>=<表达式1>[,<列名2>=<表达式2>]…[WHERE<条件>];例7、将学生20041020的系改为计算机系。UPDATEStudentSETSdept='计算机系'WHERESno='20041020';例8、将成绩60分以上(含60分)的学生的成绩乘上70%,再加上平时成绩28分。UPDATESCSETGrade=Grade*0.7+28WHEREGrade>=60实例※带子查询的修改语句例12、将数学系全体学生的成绩置零。UPDATESC

7、SETGrade=0WHEREsnoin(SELECTsnoFROMStudent.wheresdept='数学系');注:对数据库进行更新操作要保证数据的一致性。实例3.5视图视图是关系数据库系统提供给以多种角度观察数据库中数据的重要机制。它就象一个窗口,透过它可以看到数据库中用户感兴趣的数据及其变化。3.5.1视图的特点◇视图是一种虚表,是逻辑表(物理上不存在的)实际数据源于各基本表;其视图定义描述在数据字典中。思考:基本表中的数据发生变化后,视图中的数据会变吗?

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

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

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