DataBase第2节.pptVIP

  1. 1、本文档共96页,可阅读全部内容。
  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文档。上传文档
查看更多
例4: 查询只有一人选修的课程号。 SELECT CNO FROM SC AS SCX WHERE CNO NOT IN ( SELECT CNO FROM SC WHERE SNO != SCX.SNO ); * 外查询中为SC表取了别名SCX * 对于外查询中的SCX表的每一行,都检查是否有其他学生 选同一课程;如果没有那就表明此课程只有一人选修 2.3.3 数据查询语言(QL) 一、INSERT语句--插入元组值 句法:INSERT INTO 表名 [(列名表)] VALUES (数据项集); 功能: 向一个表中插入一个元组 例1: 在STUDENT 表中插入一元组。 INSERT INTO STUDENT VALUES(‘9309204’,‘金月明’,‘女’, 1976-03-04,1.60); 例2:在SC表中插入一元组,成绩暂缺。 INSERT INTO SC(SNO,CNO) VALUES (‘9309204’,’CS-221’); 2.3.4 数据操纵语言(DML) 注意事项: VALUES之后是要插入的元组值,若未指明列名, 其各属性值的次序和域应与表的定义一致 在插入时系统须做完整性约束检查 主键唯一性检查 参照完整性检查(外键值是否存在于主表中) 用户定义的完整性检查 INTO子句如果有列名表,列的个数和次序需与 VALUES 中的值对应 2.3.4 数据操纵语言(DML) 从SC表中删除GRADE为NULL的元组 DELETE FROM SC WHERE GRADE IS NULL; ? WHERE子句表示要删除的元组应满足的条件 如果没有WHERE子句,则删除表的所有元组, 表成为空表 ? 要删除表,必须用DROP TABLE语句。 二、DELETE语句 DELETE FROM [表创建者.] 表名 [WHERE 条件表达式]; 句法: 从一个表中删除元组 功能: 例如: 说明: 2.3.4 数据操纵语言(DML) 三、UPDATE语句 UPDATE [表创建者.]表名 SET 列名=值表达式[{,列名=值表达式}] [WHERE 条件表达式]; 句法: 修改一个表中有关的列值 功能: 将CS-110课程改成春季开出 UPDATE COURSE SET SEMESTER=‘春’ WHERE CNO=‘CS-110’ 例如: 说明: ? WHERE子句表示要修改的元组需满足的条件 ? SET子句表示要修改的列及其新值 2.3.4 数据操纵语言(DML) 可由其它基表或视图导出 SQL的视图与数据库的外模式相对应 视图能够简化用户的操作 基于同一基表,可为不同用户提供不同的外模式 视图有利于数据库的安全和提高数据逻辑独立性 对视图的更新操作和查询受限 视图――虚表,仅有逻辑定义,无具体数据 2.3.5 视图 一、视图的定义 CREATE VIEW 视图名 [列名表] AS 查询语句; 句法: 说明: (1) 通过函数或表达式定义视图的属性时,必须在 列名表中定义新的列名 (2) 查询语句一般规定不使用UNION、ORDER BY 等语法 例: ↘ 2.3.5 视图 例1:试定义一视图,作为学生春季选课一览表,其中 有SNO、SNAME、CNO、CREDIT等属性 CREATE VIEW ENROL-SPRING AS SELECT STUDENT.SNO, SNAME, SC.CNO, CREDIT FROM STUDENT,COURSE,SC WHERE STUDENT.SNO=SC.SNO AND COURSE.CNO=SC.CNO AND SEMESTER=’春’; 2.3.5 视图 例2: 试定义一视图GRADE-AVG,表示学生的平均成绩, 其中包括SNAME和AVGGRADE(平均成绩)两个 属性。 CREATE VIEW GRADE-AVG(SNAME,AVGGRADE) AS SELECT SNAME, AVG(GRADE)

文档评论(0)

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

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

1亿VIP精品文档

相关文档