第三章 SQL(6)数据更新.pptVIP

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.5 数据更新 3.5.1 插入数据 3.5.2 修改数据 3.5.3 删除数据 3.5 数据更新 3.5.1 插入数据 两种插入数据方式 插入单个元组 插入子查询结果 1. 插入单个元组 语句格式 INSERT INTO 表名 [(属性列1[,属性列2 …)] VALUES (常量1 [,常量2] … ) 功能 将新元组插入指定表中。 [例1] 插入一个新学生记录到Student表中: (学号:200215128;姓名:陈冬;性别:男;年龄:18岁;所在系:IS) INSERT INTO Student (sno, sname, ssex, sage, sdept) VALUES (200215128,陈冬,男,18 , IS); [例2] 插入一个新学生记录到Student表中: (学号:200215126;姓名:张成民;性别:男;年龄:18岁;所在系:IS) INSERT INTO Student VALUES (200215126,张成民,男,18 , IS); [例3] 插入一条选课记录(200215128,1 )。 INSERT INTO SC(Sno,Cno) VALUES (200215128,1); 新插入的记录在Grade列上取空值 插入单个元组总结: INTO子句 指定要插入数据的表名及属性列 属性列的顺序可与表定义中的顺序不一致 指定部分属性列:插入的元组在其余属性列上取空值 没有指定属性列:表示要插入的是一条完整的元组,且属性列属性与表定义中的顺序一致 VALUES子句 提供的值必须与INTO子句匹配 值的个数 值的类型 说明:DBMS在执行插入语句时会检查所插入元组是否破坏表上已定义的完整性规则 实体完整性 参照完整性 用户定义的完整性 对于有NOT NULL约束的属性列是否提供了非空值 对于有UNIQUE约束的属性列是否提供了非重复值 对于有值域约束的属性列所提供的属性值是否在值域范围内 对于有缺省值的属性 2. 插入子查询结果 语句格式 INSERT INTO 表名 [(属性列1 [,属性列2… )] 子查询; 功能 将子查询结果插入指定表中 [例4] 对每一个系,求学生的平均年龄,并把结果存入数据库。 第一步:建表 CREATE TABLE Deptage (Sdept CHAR(15) , /*系名*/ Avgage SMALLINT) ; /*学生平均年龄*/ 插入子查询结果总结: INTO子句(与插入单条元组类似) 指定要插入数据的表名及属性列 属性列的顺序可与表定义中的顺序不一致 指定部分属性列:插入的元组在其余属性列上取空值 没有指定属性列:表示要插入的是一条完整的元组 子查询 SELECT子句目标列必须与INTO子句匹配 值的个数 值的类型 3.5 数据更新 3.5.2 修改数据 语句格式 UPDATE 表名 SET 列名=表达式[,列名=表达式]… [WHERE 条件]; 功能 修改指定表中满足WHERE子句条件的元组 三种修改方式 修改某一个元组的值 修改多个元组的值 带子查询的修改语句 1. 修改某一个元组的值 [例5] 将学生200215121的年龄改为21岁,系改为IS。 UPDATE Student SET Sage=21, sdept=IS WHERE Sno=200215121; 2. 修改多个元组的值 [例6] 将所有学生的年龄增加1岁。 UPDATE Student SET Sage= Sage+1; 3. 带子查询的修改语句 [例7] 将计算机科学系全体学生的成绩置0。 UPDATE SC SET Grade=0 WHERE CS= (SELECT Sdept FROM Student WHERE Student.Sno = SC.Sno); 说明:DBMS在执行修改语句时会检查修改操作是否破坏表上已定义的完整性规则 实体完整性 参

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档