数据库应用基础 Fundamental and Application of Database 第六讲 测控技术与自动化教研中心冯仁剑
Fundamental and Application of Fundamental and Application of Database Database 数据库应用基础 数据库应用基础 第六讲 测控技术与自动化教研中心 测控技术与自动化教研中心 冯仁剑
36数据更新(二)
3.6 数据更新(二) 数据更新(二)
1.插入子查询结果 语句格式 INSERT INTO(, 子查询; 功能 将子查询结果插入指定表中
1. 插入子查询结果 插入子查询结果 z 语句格式 INSERT INTO [( [,… )] 子查询; z 功能 将子查询结果插入指定表中
插入子查询结果(续) 例3]对每一个系,求学生的平均年龄,并 把结果存入数据库。 第一步:建表 CREATE TABLE Deptage ( Sdept ChAR(15)/系名* Avgage SMALLINT);/学生平均年龄*
插入子查询结果(续) 插入子查询结果(续) [ 例3] 对每一个系,求学生的平均年龄,并 把结果存入数据库。 第一步:建表 CREATE TABLE Deptage (Sdept CHAR(15) /* 系名*/ Avgage SMALLINT); /*学生平均年龄*/
插入子查询结果(续) 第二步:插入数据 INSERT INTO Deptage(Sdept, Avgage SELECT Sdept, AVG(Sage) FROM Student GROUP BY Sdept
插入子查询结果(续) 插入子查询结果(续) 第二步:插入数据 INSERT INTO Deptage(Sdept ,Avgage) SELECT Sdept ,AVG(Sage) FROM Student GROUP BY Sdept ;
插入子查询结果(续) INTO子句(与插入单条元组类似) ●指定要插入数据的表名及属性列 。属性列的顺序可与表定义中的顺序不一致 没有指定属性列:表示要插入的是一条完整的元 组 指定部分属性列:插入的元组在其余属性列上取 空值 子查询 SELECT子句目标列必须与ⅠNTO子句匹配 值的个数 值的类型
插入子查询结果(续) 插入子查询结果(续) – INTO子句 (与插入单条元组类似 ) z 指定要插入数据的表名及属性列 z 属性列的顺序可与表定义中的顺序不一致 z 没有指定属性列:表示要插入的是一条完整的元 组 z 指定部分属性列:插入的元组在其余属性列上取 空值 – 子查询 z SELECT子句目标列必须与INTO子句匹配 – 值的个数 – 值的类型
插入子查询结果(续) DBMS在执行插入语句时会检查所插元组是 否破坏表上已定义的完整性规则 实体完整性 参照完整性 用户定义的完整性 对于有 NOT NULL约束的属性列是否提供了非空值 对于有 UNIQUE约束的属性列是否提供了非重复值 对于有值域约束的属性列所提供的属性值是否在值域范围内
插入子查询结果(续) 插入子查询结果(续) DBMS在执行插入语句时会检查所插元组是 否破坏表上已定义的完整性规则 – 实体完整性 – 参照完整性 – 用户定义的完整性 用户定义的完整性 z 对于有NOT NULL约束的属性列是否提供了非空值 z 对于有UNIQUE约束的属性列是否提供了非重复值 z 对于有值域约束的属性列所提供的属性值是否在值域范围内
2.带子查询的修改语句 「例将计算机科学系全体学生的成绩置零。 UPDATE SC set Grade=0 WHERE CS ISELEtE Sdept FROM Student WHERE Student Sno=SCSno)
2. 带子查询的修改语句 带子查询的修改语句 [例] 将计算机科学系全体学生的成绩置零。 UPDATE SC SET Grade=0 WHERE 'CS'= (SELETE Sdept FROM Student WHERE Student.Sno = SC.Sno);
3.带子查询的删除语句 [例删除计算机科学系所有学生的选课记录 DELETE FROM SC WHERE CS SELETE Sdept FROM Student WHERE Student Sno=SCSno
3. 带子查询的删除语句 带子查询的删除语句 [例11] 删除计算机科学系所有学生的选课记录。 DELETE FROM SC WHERE 'CS'= (SELETE Sdept FROM Student WHERE Student.Sno=SC.Sno);
37视图 视图的特点 ●虚表,是从一个或几个基本表(或视 图)导出的表 ●只存放视图的定义,不会出现数据冗余 ●基表中的数据发生变化,从视图中查询 出的数据也随之改变
3.7 视 图 视图的特点 z 虚表,是从一个或几个基本表(或视 图)导出的表 z 只存放视图的定义,不会出现数据冗余 z 基表中的数据发生变化,从视图中查询 出的数据也随之改变