文档详情

查询结果为.ppt

发布:2017-04-01约1.19万字共98页下载文档
文本预览下载声明
例3-12 在STUDENT表中插入一个元组。 语句: INSERT INTO STUDENT VALUES ( ‘9309204 ’,‘金月明’,‘女’, 1976-03-04,1.60); 注:VALUE后面是要插入的元组值,其次序 和域应与STUDENT的模式定义一致。 例3-13 在SC表中插入一元组,成绩暂缺。 语句:INSERT INTO SC(SNO,CNO) VALUES(‘9309204’,‘CS-221’); 插入的元组为: (‘9309204’,‘CS-221’,NULL)。 原表中定义GRADE允许为NULL。 例3-14 生成一个女学生成绩临时表FGRADE,表中包括SNAME,CNO,GRADE三个属性。 首先定义一个临时表FGRADE: 语句:CREATE TABLE FGRADE (SNAME VARCHAR(8) NOT NULL, CNO CHAR(6) NOT NULL, GRADE DEC(4,1) DEFAULT NULL); 其次插入有关的数据: 语句: INSERT INTO FGRADE SELECT SNAME, CNO, GRADE FROM STUDENT,SC WHERE STUDENT.SNO=SC.SNO 插入的内容为: SNAME CNO GRADE 欧阳美林 CS-110 82.5 欧阳美林 CS-201 80 欧阳美林 EE-201 75 李维 CS-110 72 李维 CS-201 65 3.5.2 DELETE 语句 格式如图3-6所示 注:如果没有WHERE子句,则删除指定表中的所有元组,使该表为一空表。(删除整个表要用 DROP TABLE语句) 例3-15 从SC表中删除GRADE为NULL的元组。 语句:DELETE FROM SC WHERE GRADE IS NULL ; 3.5.3 UPDATE(更新)语句 格式如图3-7所示 例3-16 将CS-110课程改成春季开出。 语句:UPDATE COURSE SET SEMESTER=‘春’ WHERE CNO=‘CS-110’; 例3-17 将STUDENT表中的HEIGHT的单位改 为厘米。 语句:UPDATE STUDENT SET HEIGHT=100*HEIGHT; 视图:是由其它视图或基表导出的虚表。它不是一个存在数据库中的表,而是在数据目录中保留其逻辑定义。 当视图参与数据库操作时,可通过修改查 询条件,把对视图的查询转换为对基表的查 询。 3.6 SQL中的视图 3.6.1 普通视图 视图的定义: 1、用户经常要用到的一些数据; 2、用户经常要查询的内容; 视图的撤消: 视图不再需要时,可以从系统中撤消。 视图的定义和撤消语句的格式如图3-8(a)、(b)所示。 不能使用 UNION、 ORDER BY等 例3-18 试定义视图ENROL-SPRING,作为学生春季选课一览表,其中含有SNO,SNAME,CNO,CREIT等属性。 语句: CREATE VIEW ENROL-SPRING AS SELECT SNO,SNAME,CNO,CREDIT FROM STUDENT,COURSE,SC WHERE STUDENT.SNO=SC.SNO AND COURSE.CNO=SC.CNO AND SEMESTER=‘春’; 例 3-19 试定义一视图GRADE-AVG,表示学生的平均成绩,其中包括SNAME和AVG GRADE(平均成绩)两个属性。 语句: CREATE VIEW GRADE-AVG(SNAME,AVGGRADE) AS SELECT SNAME,AVG(GRADE) FROM STUDENT, SC WHERE STUDENT.SNO=SC.SNO GROUP BY SNAME; 可见,视图实际上是一个SELECT语句。 撤消上述两个视图: DROP VIEW ENROL-SPRING; DROP VIEW GRADE-AVG; 注意:视图对应的内容总是实时、最新的内容,并不是视图定义时对
显示全部
相似文档