插入子查询结果(续) :INTO子句(与插入单条元组类似) ·指定要插入数据的表名及属性列 。属性列的顺序可与表定义中的顺序不一致 ·没有指定属性列:表示要插入的是一条完整的元组 ·指定部分属性列:插入的元组在其余属性列上取空 值 子查询 SELECT子句目标列必须与INTO子句匹配 ·值的个数 ·值的类型 An Introduction to Database System
An Introduction to Database System 插入子查询结果(续) ◼ INTO子句(与插入单条元组类似) ◼ 指定要插入数据的表名及属性列 ◼ 属性列的顺序可与表定义中的顺序不一致 ◼ 没有指定属性列:表示要插入的是一条完整的元组 ◼ 指定部分属性列:插入的元组在其余属性列上取空 值 ◼ 子查询 ◼ SELECT子句目标列必须与INTO子句匹配 ◼ 值的个数 ◼ 值的类型
插入子查询结果(续) [例3]对每一个系,求学生的平均年龄, 并把结果存入数据库。 第一步:建表 CREATE TABLE Deptage (Sdept CHAR(15), /*系名*/ Avgage SMALLINT);/*学生平均年龄*/ An Introduction to Database System
An Introduction to Database System 插入子查询结果(续) [例3] 对每一个系,求学生的平均年龄, 并把结果存入数据库。 第一步:建表 CREATE TABLE Deptage (Sdept CHAR(15), /* 系名*/ Avgage SMALLINT); /*学生平均年龄*/
插入子查询结果(续) 第二步:插入数据 INSERT INTO Deptage(Sdept,Avgage) SELECT Sdept,AVG(Sage) FROM S GROUP BY Sdept; An Introduction to Database System
An Introduction to Database System 插入子查询结果(续) 第二步:插入数据 INSERT INTO Deptage(Sdept,Avgage) SELECT Sdept,AVG(Sage) FROM S GROUP BY Sdept;
插入子查询结果(续) ■DBMS在执行插入语句时会检查所插元组是 否破坏表上已定义的完整性规则 ·实体完整性 ·参照完整性 ■用户定义的完整性 ·对于有NOT NULL约束的属性列是否提供了非空值 ·对于有UNIQUE约束的属性列是否提供了非重复值 ■对于有值域约束的属性列所提供的属性值是否在值域范围内 An Introduction to Database System
An Introduction to Database System 插入子查询结果(续) ◼ DBMS在执行插入语句时会检查所插元组是 否破坏表上已定义的完整性规则 ◼ 实体完整性 ◼ 参照完整性 ◼ 用户定义的完整性 ◼ 对于有NOT NULL约束的属性列是否提供了非空值 ◼ 对于有UNIQUE约束的属性列是否提供了非重复值 ◼ 对于有值域约束的属性列所提供的属性值是否在值域范围内
3.4数据更新 3.4.1插入数据 3.4.2修改数据 3.4.3删除数据 An Introduction to Database System
An Introduction to Database System 3.4 数 据 更 新 3.4.1 插入数据 3.4.2 修改数据 3.4.3 删除数据