3第3章数据库系统.ppt

  1. 1、本文档共196页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3第3章数据库系统

3.删除基本表 可以用SQL语句DROP TABLE进行删除基本表。 一般格式为:DROP TABLE表名 例7、 删除学生选课这张表。 DROP TABLE SC; 其中,表名指定为要建索引的基本表的名字. 索引可以建在该表的一列或多列上,各列之间用逗号分隔.每个列名后面还可以用次序指定索引值的排列次序,包括ASC(升序)和DESC(降序)。 UNIQUE表示此索引的每一个索引值只对应唯一的数据记录。 CLUSTER表示要建立的索引是聚簇索引。聚簇索引指索引项的顺序与表中记录的物理顺序一致的索引。 练习题一 1、查询计算机系(CS)所有学生的姓名、性别和年龄。 2、查询数学系(MA)小于18岁的学生的学号、姓名以及性别和年龄 3、查询成绩不及格的学生的学号、课程号和成绩。 4、查询选修了‘c02’课程的学生的学号和成绩 5、查询‘9531101’学生的成绩在80分以上的选课情况。 6、查询数学系学生的学号、姓名和出生年份,要求对各个字段进行重新命名。 练习二 1、查询信息系年龄在18到20岁之间的女生的信息。 2、查询姓李的且在计算机系的学生的学号、姓名以及年龄 3、查询选修了‘c02’,‘c05’,‘c03’三门课程中的任何一门课程的学生的学号、课程号和成绩。 4、查询没有先行课的课程的课程号、课程名以及学分和课程类别 5、查询‘c03’课程的成绩,按成绩的降序排列。 6、查询课程名中包含‘计算机’字样的课程的信息。 (1) 使用左外连接 左向外连接运算符 LEFT OUTER JOIN 指明,不管第二个表中是否有匹配的数据,结果将包含第一个表中的所有行。 例如 SELECT Student.Sno,Sname,Ssex, Sage,Sdept,Cno,Grade FROM Student LEFT OUTER JOIN SC ON Student.Sno=SC.Sno (2)使用右外连接 右外连接运算符 RIGHT OUTER JOIN 指明:不管第一个表中是否有匹配的数据,结果将包含第二个表中的所有行。 例如,查询每门课的选课情况,包括输出没有被选的课程的情况。 Select SC.sno,SC.cno,C.cname,C.credit From SC RIGHT OUTER JOIN C ON SC.cno=C.cno 等价于: 3.3.3 嵌套查询(子查询) 将一个查询块嵌套在另一个查询块的WHERE字句或HAVING短语的条件中的查询. 例: SELECT Sname FROM Student WHERE Sno IN (SELECT Sno FROM SC WHERE Cno=‘2’); 注意:内层查询不能含有ORDER BY 子句,ORDER BY 永远只能对最终查询结果排序。 5.集合查询 集合操作主要包括并操作UNION、交操作INTERSECT 和差操作MINUS。 例62、查询计算机科学系的学生及年龄不大于19岁的学生。 SELECT * FROM Student WHERE Sdept=‘CS’ UNION SELECT * FROM Student WHERE Sage=19; 3.4 数据更新 SQL中数据更新包括插入数据、修改数据和删除数据三条语句。 3.4.1 插入数据 SQL的数据插入语句INSERT通常有两种形式: 一种是插入一个元组; 另一种是插入子查询结果。后者可以一次插入多个元组。 例3、对每个系,求学生的平均年龄,并把结果存入数据库。 首先,要在数据库中建立一个有两个属性列的新表,其中一列存放系名,另一列存放相应的学生的平均年龄。 CREATE TABLE deptage (sdept char(15), avgage smallint) 3.5 视 图 视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制,同时也是保护数据的安全机制。 视图是从一个或多个基本表(或视图)导出的表,它是一个虚表。即数据库中只存在视图的定义,而不存在视图对应的数据,这些数据仍然存放在原有的基本表中。 视图一经定义,就可以和基本表一样被查询、被删除,也可以在一个视图之上再定义新的视图,但对视图的更新(增、删、改)操作则有一定的限制。

您可能关注的文档

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档