文档详情

数据库系统概论5版2016ch03讲解.pptx

发布:2017-04-06约1.37万字共83页下载文档
文本预览下载声明
An Introduction to Database System 山东科技大学信息学院 数据库系统概论 An Introduction to Database System 第三章 关系数据库标准语言SQL (续2) An Introduction to Database System 第三章 关系数据库标准语言SQL 3.1 SQL概述 3.2 学生-课程数据库 3.3 数据定义 3.4 数据查询 3.5 数据更新 3.6空值的处理 3.7视图 3.8小结 An Introduction to Database System 3.5 数 据 更 新 3.5.1 插入数据 3.5.2 修改数据 3.5.3 删除数据 An Introduction to Database System 3.5.1 插入数据 两种插入数据方式 1. 插入元组 2. 插入子查询结果 可以一次插入多个元组 An Introduction to Database System 一、插入元组 语句格式 INSERT INTO 表名 [(属性列1[,属性列2 …)] VALUES (常量1 [,常量2] … ) 功能 将新元组插入指定表中 An Introduction to Database System 插入元组(续) INTO子句 属性列的顺序可与表定义中的顺序不一致 没有指定属性列:表示要插入的是一条完整的元组,且属性列属性与表定义中的顺序一致 指定部分属性列:插入的元组在其余属性列上取空值 VALUES子句 提供的值必须与INTO子句匹配 值的个数 值的类型 An Introduction to Database System 插入元组(续) [例1] 将一个新学生元组(学号:200215128;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中。 INSERT INTO Student (Sno,Sname,Ssex,Sdept,Sage) VALUES (200215128,陈冬,男,IS,18); An Introduction to Database System 插入元组(续) [例2] 将学生张成民的信息插入到Student表中。 INSERT INTO Student VALUES (‘200215126’, ‘张成民’, ‘男’,18,CS); An Introduction to Database System 插入元组(续) [例3] 插入一条选课记录( 200215128,1 )。 INSERT INTO SC(Sno,Cno) VALUES (‘ 200215128 ’,‘ 1 ’); RDBMS将在新插入记录的Grade列上自动地赋空值。 或者: INSERT INTO SC VALUES ( 200215128 , 1 ,NULL); An Introduction to Database System 二、插入子查询结果 语句格式 INSERT INTO 表名 [(属性列1 [,属性列2… )] 子查询; 功能 将子查询结果插入指定表中 An Introduction to Database System 插入子查询结果(续) INTO子句(与插入元组类似) 子查询 SELECT子句目标列必须与INTO子句匹配 值的个数 值的类型 An Introduction to Database System 插入子查询结果(续) [例4] 对每一个系,求学生的平均年龄,并把结果存入数据库。 第一步:建表 CREATE TABLE Dept_age (Sdept CHAR(15) /* 系名*/ Avg_age SMALLINT); /*学生平均年龄*/ 第二步:插入数据 INSERT INTO Dept_age(Sdept,Avg_age) SELECT Sdept,AVG(Sage) FROM Student GROUP BY Sdept; An Introduction to Database System 插入子查询结果(续) RDBMS在执行插入语句时会检查所插元组是 否破坏表上已定义的完整性规则 实体完整性 参照完整性 用户定义的完整性 NOT NULL约束 UNI
显示全部
相似文档