数据库(第三章4)ppt.pptVIP

  • 11
  • 0
  • 约4.41千字
  • 约 38页
  • 2017-06-03 发布于河南
  • 举报
数据库(第三章4)ppt

3.4 数据库更新 SQL中数据更新包括插入数据、修改数据和删除数据三条语句。与查询语句SELECT不同,数据更新语句一次只能对一个表中数据进行更新操作。 3.4.1 插入数据(INSERT) INSERT语句是将一行或多行插入到一个表或视图中。 一、插入一行 语句格式为: INSERT INTO 表名[(属性列1,属性列2…)] VALUES (常量1,常量2…); 功能:将给定的新行(常量1,常量2…)插入到指定表中。 INSERT语句未提供值的列,取默然值,如果该列没有默然值,则取空值。当然,在表定义时说明了NOT NULL的属性列不能取空值,必须给出具体值(非空值),否则系统会报出错。 如果INTO子句中没有指明任何列名,则新插入的记录必须在每个属性列上均有值。 例1将一个新记录(S9 ,陈冬,男,18,IS)插入到S表中。 INSERT INTO S VALUES (“S9” ,“陈冬”,“男”,18,“IS”); 例2 插入一条选课记录(“S9” ,“C1”)。INSERT INTO SC(Sno,Cno) VALUES (“S9” ,“C1”); 插入可能会破坏参照完整性。 二、插入子查询结果 其格式为 : INSERT INTO 表名[(属性列1,属性列2…)] 子查询; 例3 求每个系学生的平均年龄,并将结果存入数据库。 首先在RDB中建一个表,含有两列:系名和平均成绩。 CREATE TABLE Deptage (Sdept VARCHAR(20),Avgage INT); 然后将数据插入到该表中。 INSERT INTO Deptage(Sdept,Avgage) SELECT Sdept ,AVG(sage) FROM S GROUP BY Sdept ; 3.4.2 修改数据(UPDATE) UPDATE语句是修改表或视图中的一行或多行的值。 其一般格式为: UPDATE 表名 SET 列名1=表达式1[ ,列名2=表达式2]… [ WHERE 条件]; 功能:修改指定表中满足WHERE子句条件的行。对满足条件的行,用表达式n的值取代列名n的原值. 例4 将学生S4的姓名改为WangPing。 例5 将所有学生年龄加2。 例6 将数学系全体学生的成绩置0。 子查询必须在更新之前完成 。 数据库更新操作可能会破坏数据库的完整性约束条件,使数据库数据出现不一致。为此,系统一般会对任何数据库更新操作进行完整性检查,若发现违反了某个约束,那么这个更新操作就会被撤消。 3.4.3删除数据(DELETE) DELETE语句是从一个表或视图中删除一行或多行。 其一般格式为: DELETE FROM表名 [ WHERE条件 ]; 从指定表中删除满足WHERE子句中条件的所有行 。 例7 将学号为S9的学生删除。 注意完整性。 例8 删除全体学生的选课记录。 例9 将没有选任何课的学生删除。 例10 删除计算机系全体学生的选课记录。 3.5 视图(View) 到目前为止,我们一直是直接对基本表操作。基本表是实际存储在数据库中的,它是实际存储数据的逻辑表示。 有时,处于安全考虑,我们并不希望所有用户都能看到整个数据库逻辑模型,希望对某些用户来说,他只能看到让他看到的那部分数据。而视图机制能够满足这个要求。 视图是从一个或几个基本表(或视图)导出的表,可以是从一个表中选取某些列或某些行组成的表,也可以由若干表满足一定条件的数据组成的表。不过,数据库中只存放视图的定义,视图表对应的数据仍存放在相应的基本表中。 3.5.1 视图的定义 一、建立视图 视图由子查询来定义的,子查询的结果表就是视图表。 格式为: CREATE VIEW 视图名[(视图列名表)] AS 子查询 [ WITH CHECK OPTION ]; 说明: (1)视图列名表给出视图的列名。它是可选项,若给出此项,则表示给子查询的SELECT子句所选择的数据重新起个名字作为视图的列名,它们依次对应;当省略时,表示视图的列名取子查询中SELECT子句给出的列名。 (2)当视图定义给出了WITH CHECK OPTION 选项时,用户对视图进行更新操作(插入、删除和修改)时要保证更新的行必须满足子查询中的条件表达式。否则拒绝更新。 例1 建立计算机系的学生视图表CS-S。 (带有WITH CHECK OPTION) 行列子集视图:若一个视图是从单个基本表中去掉了若干行和若干列,且保留了码,则称它为行列子集视图 。如CS-S 例2 把学生的学号和 平均成绩定义为视图S-AG。(派生列) 例3 建立信息系选修了C1课的学生视图IS-S1。 例4 建立信息系选修C1课且

文档评论(0)

1亿VIP精品文档

相关文档