03关系数据库标准语言SQL.ppt
文本预览下载声明
视图消解法的局限 有些情况下,视图消解法不能生成正确查询。 修改数据 语句格式 UPDATE 表名 SET 列名=表达式[,列名=表达式]… [WHERE 条件]; 功能 修改指定表中满足WHERE 子句条件的元组 SET子句 指定修改方式 要修改的列 修改后取值 WHERE子句 指定要修改的元组 缺省表示要修改表中的所有元组 修改数据(续) 三种修改方式 1. 修改某一个元组的值 2. 修改多个元组的值 3. 带子查询的修改语句 1. 修改某一个元组的值 [例5] 将学生200215121的年龄改为22岁 UPDATE Student SET Sage=22 WHERE Sno= 200215121 ; 2. 修改多个元组的值 [例6] 将所有学生的年龄增加1岁 UPDATE Student SET Sage= Sage+1; 3. 带子查询的修改语句 [例7] 将计算机科学系全体学生的成绩置零。 UPDATE SC SET Grade=0 WHERE CS= (SELETE Sdept FROM Student WHERE Student.Sno = SC.Sno); 修改数据(续) RDBMS在执行修改语句时会检查修改操作 是否破坏表上已定义的完整性规则 实体完整性 主码不允许修改 用户定义的完整性 NOT NULL约束 UNIQUE约束 值域约束 删除数据 语句格式 DELETE FROM 表名 [WHERE 条件]; 功能 删除指定表中满足WHERE 子句条件的元组 WHERE子句 指定要删除的元组 缺省表示要删除表中的全部元组,表的定义仍在字典中 删除数据(续) 三种删除方式 1. 删除某一个元组的值 2. 删除多个元组的值 3. 带子查询的删除语句 1. 删除某一个元组的值 [例8] 删除学号为200215128的学生记录。 DELETE FROM Student WHERE Sno= 200215128 ; 2. 删除多个元组的值 [例9] 删除所有的学生选课记录。 DELETE FROM SC; 3. 带子查询的删除语句 [例10] 删除计算机科学系所有学生的选课记录。 DELETE FROM SC WHERE CS= (SELETE Sdept FROM Student WHERE Student.Sno=SC.Sno); 3.4 视 图 视图的特点 虚表,是从一个或几个基本表(或视图)导出的表 只存放视图的定义,不存放视图对应的数据 基表中的数据发生变化,从视图中查询出的数据也随之改变 基于视图的操作 查询 删除 受限更新 定义基于该视图的新视图 3.4 视 图 3.4.1 定义视图 3.4.2 查询视图 3.4.3 更新视图 3.4.4 视图的作用 3.4.1 定义视图 建立视图 删除视图 一、建立视图 语句格式 CREATE VIEW 视图名 [(列名 [,列名]…)] AS 子查询 [WITH CHECK OPTION]; 组成视图的属性列名:全部省略或全部指定 子查询不允许含有ORDER BY子句和DISTINCT短语 建立视图(续) RDBMS执行CREATE VIEW语句时只是把视图定义存入数据字典,并不执行其中的SELECT语句。 在对视图查询时,按视图的定义从基本表中将数据查出。 [例1] 建立信息系学生的视图。 CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept= IS; [例2]建立信息系学生的视图,并要求进行修改和插入
显示全部