- 1、本文档共136页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章关系数据库标准语言SQLppt课件
执行例5后,U5不仅拥有了对表SC的INSERT权限,还可以传播此权限: GRANT INSERT ON TABLE SC TO U6 WITH GRANT OPTION 同样,U6还可以将此权限授予U7: GRANT INSERT ON TABLE SC TO U7 但U7不能再传播此权限。 U5-- U6-- U7 例6 DBA把在数据库S_C中建立表的权限授予用户U8 GRANT CREATETAB ON DATABASE S_C TO U8 三、差操作 标准SQL中没有提供集合差操作,但可用其他方法间接实现。 例47 查询计算机科学系的学生与年龄不大于19岁的学生的差集。 本例实际上是查询计算机科学系中年龄大于19岁的学生 SELECT * FROM Student WHERE Sdept= CS AND Sage19 例48 错误写法 SELECT * FROM Student WHERE Sdept= CS ORDER BY Sno UNION SELECT * FROM Student WHERE Sage=19 ORDER BY Sno 正确写法 SELECT * FROM Student WHERE Sdept= CS UNION SELECT * FROM Student WHERE Sage=19 ORDER BY 1; 四、对集合操作结果的排序 ORDER BY子句只能用于对最终查询结果排序,不能对中间结果排序; 任何情况下,ORDER BY子句只能出现在最后; 对集合操作结果排序时,ORDER BY子句中用数字指定排序属性。 3.4 数据更新 3.4.1 插入数据 两种插入数据方式 插入单个元组 插入子查询结果 一、插入单个元组 1. 语句格式: INSERT INTO 表名 [(属性列1[,属性列2 …)] VALUES (常量1 [,常量2] … ) 2. 功能:将新元组插入指定表中。 3. 说明: (1)INTO子句 指定要插入数据的表名及属性列; 属性列的顺序可与表定义中的顺序不一致; 没有指定属性列:表示要插入的是一条完整的元组,且属性列属性与表定义中的顺序一致; 指定部分属性列:插入的元组在其余属性列上取空值。 (2) VALUES子句 提供的值必须与INTO子句匹配 值的个数 值的类型 ★注:在表定义时说明了NOT NULL的属性列不能取空值。 例1 将一个新学生记录(学号:95020;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中。 INSERT INTO Student VALUES (95020,陈冬,男,IS,18) 例2 插入一条选课记录( 95020,1 )。 INSERT INTO SC(Sno,Cno) VALUES ( 95020 , 1 ) 新插入的记录在Grade列上取空值 二、插入子查询结果 1. 语句格式: INSERT INTO 表名 [(属性列1 [,属性列2… )] 子查询 2. 功能: 将子查询结果插入指定表中 3. 说明: (1)INTO子句(与插入单条元组类似); (2)子查询:SELECT子句目标列必须与INTO子句匹配。 ★注: DBMS在执行插入语句时会检查所插元组是否破坏表上已定义的完整性规则。 实体完整性 参照完整性 用户定义的完整性 对于有NOT NULL约束的属性列是否提供了非空值 对于有UNIQUE约束的属性列是否提供了非重复值 对于有值域约束的属性列所提供的属性值是否在值域范围内 3.4.2 修改数据 语句格式: UPDATE 表名 SET 列名=表达式[,列名=表达式]… [WHERE 条件] 功能:修改指定表中满足WHERE子句条件的元组。 3. 修改方式: 修改某一个元组的值 修改多个元组的值 带子查询的修改语句 4. 说明: (1)SET子句 指定修改方式 要修改的列 修改后取值。 (2)WHERE子句 指定要修改的元组, 缺省表示要修改表中的所有元组。 ★注: DBMS在执行修改语句时会检查修改操作是否破坏表上已定义的完整性规则 实体完整性 主码不允许修改 用户定义的完
文档评论(0)