《3.第3章关系数据库标准语言SQL3.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《3.第3章关系数据库标准语言SQL3

An Introduction to Database System 学习目标 掌握SQL的数据更新 掌握SQL的视图使用 掌握SQL的数据控制 3.4 数 据 更 新 插入数据:有插入单个元组、插入子查询结果两种方式 。 插入单个元组 语句格式: INSERT INTO 表名 [(属性列1[,属性列2 …)] VALUES (常量1 [,常量2] … ) 功能:将新元组插入指定表中。 其中:INTO子句指定要插入数据的表名及属性列,属性列的顺序可与表定义中的顺序不一致。若没有指定属性列,则表示要插入的是一条完整的元组,且属性列属性与表定义中的顺序一致;若指定部分属性列,则插入的元组在其余属性列上取空值。VALUES子句提供的值必须与INTO子句在值的个数和值的类型上匹配 。 [例1]将一个新学生记录 (95020,陈冬,男,IS,18岁)插入到Student表中。 INSERT INTO Student VALUES (95020,陈冬,男,IS,18); [例2]插入一条选课记录( 95020,1 )。 INSERT INTO SC(Sno,Cno) VALUES ( 95020 , 1 ); 新插入的记录在Grade列上取空值。 插入子查询结果 语句格式 INSERT INTO 表名 [(属性列1 [,属性列2… )] 子查询; 功能:将子查询结果插入指定表中。 其中:INTO、SELECT子句的说明与插入单条元组类似。 [例3]对每一个系,求学生的平均年龄,并把结果存入数据库。 首先建表: CREATE TABLE Deptage (Sdept CHAR(15) , Avgage SMALLINT); /* 定义系名和学生平均年龄*/ 然后插入数据: INSERT INTO Deptage(Sdept,Avgage) SELECT Sdept,AVG(Sage) FROM Student GROUP BY Sdept; 注意点:无论是插入单个元组,还是插入子查询结果, DBMS在执行插入语句时会自动检查所插元组是否破坏表上已定义的完整性规则(实体完整性、参照完整性、用户定义的完整性): 对于有NOT NULL约束的属性列是否提供了非空值; 对于有UNIQUE约束的属性列是否提供了非重复值; 对于有值域约束的属性列所提供的属性值是否在值域范围内。 修改数据:有修改某一个元组的值、修改多个元组的值、带子查询的修改三种方式, DBMS也会自动检查三类完整性规则。 语句格式 UPDATE 表名 SET 列名=表达式[,列名=表达式]… [WHERE 条件]; 功能:修改指定表中满足WHERE子句条件的元组。 其中:SET子句指定修改方式、要修改的列和修改后的取值;WHERE子句指定要修改的元组,缺省表示修改表中所有元组 修改某一个元组的值 [例4]将学生95001的年龄改为22岁。 UPDATE Student SET Sage=22 WHERE Sno= 95001 ; 修改多个元组的值 [例5]将所有学生的年龄增加1岁。 UPDATE Student SET Sage= Sage+1; 将信息系所有学生的年龄增加1岁。 UPDATE Student SET Sage= Sage+1 WHERE Sdept= IS ; 带子查询的修改语句 [例6]将计算机系全体学生的成绩置零。 UPDATE SC SET Grade=0 WHERE CS= (SELETE Sdept FROM Student WHERE Student.Sno = SC.Sno); 删除数据:有删除某一个元组的值、删除多个元组的值、带子查询的删除三种方式。DBMS在执行删除语句时会检查所删元组是否破坏表上已定义的参照完整性规则(不允许删除或级联删除)。 语句格式:DELETE FROM 表名 [WHERE 条件]; 功能:删除指定表中满足WHERE子句条件的元组。 其中:WHERE子句指定要删除的元组,缺省表示要修改表中的所有元组。 删除某一个元组的值 [例7]删除学号为95019的学生记录。 DELETE FROM Student WHERE Sno=95019; 删除多个元组的值 [例8]删除所有的学生选课记录。

文档评论(0)

zhonhua5000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档