第12章 数据更新.ppt_第1页
第12章 数据更新.ppt_第2页
第12章 数据更新.ppt_第3页
第12章 数据更新.ppt_第4页
第12章 数据更新.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、An Introduction to Database System,第12章数 据 更 新,An Introduction to Database System,12.1 输入数据 12.2 更改数据 12.3 删除数据,An Introduction to Database System,12.1 插入数据,两种插入数据方式 插入单个元组 插入子查询结果,An Introduction to Database System,1. 插入单个元组,语句格式 INSERT INTO (,) VALUES ( , ) 功能 将新元组插入指定表中。,An Introduction to Databa

2、se System,插入单个元组(续),例1 将一个新学生记录 (学号:95020;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到S表中。 INSERT INTO S VALUES ( 95020 , 陈冬 ,男 , 信息系,18);,An Introduction to Database System,插入单个元组(续),例2 插入一条选课记录( 95020,1 ) INSERT INTO sc(sno,cno) VALUES ( 95020 , 1 ); 新插入的记录在Grade列上取空值,An Introduction to Database System,插入单个元组(续),

3、INTO子句 指定要插入数据的表名及属性列 属性列的顺序可与表定义中的顺序不一致 没有指定属性列:表示要插入的是一条完整的元组,且属性列属性与表定义中的顺序一致 指定部分属性列:插入的元组在其余属性列上取空值 VALUES子句 提供的值必须与INTO子句匹配 值的个数 值的类型,An Introduction to Database System,2. 插入子查询结果,语句格式 INSERT INTO ( , ) 子查询; 功能 将子查询结果插入指定表中,An Introduction to Database System,插入子查询结果(续),例3对每一个系,求学生的平均年龄,并把结果存入数

4、据库。 第一步:建表 CREATE TABLE depage( depa varchar(20) not null, /* 系名*/ avg_age smallint) /*学生平均年龄*/ 第二步:插入数据 INSERT INTO depage(depa, avg_age) SELECT depa, avg(age) FROM s GROUP BY depa,必须一致,An Introduction to Database System,插入子查询结果(续),INTO子句(与插入单条元组类似) 指定要插入数据的表名及属性列 属性列的顺序可与表定义中的顺序不一致 没有指定属性列:表示要插入的是

5、一条完整的元组 指定部分属性列:插入的元组在其余属性列上取空值 子查询 SELECT子句目标列必须与INTO子句匹配 值的个数 值的类型,An Introduction to Database System,插入子查询结果(续),DBMS在执行插入语句时会检查所插元组是 否破坏表上已定义的完整性规则 实体完整性 参照完整性 用户定义的完整性 对于有NOT NULL约束的属性列是否提供了非空值 对于有UNIQUE约束的属性列是否提供了非重复值 对于有值域约束的属性列所提供的属性值是否在值域范围内,An Introduction to Database System,12.2 修改数据,语句格式

6、UPDATE SET =,= WHERE ; 功能 修改指定表中满足WHERE子句条件的元组,An Introduction to Database System,修改数据(续),三种修改方式 修改某一个元组的值 修改多个元组的值 带子查询的修改语句,An Introduction to Database System,1. 修改某一个元组的值,例4 将学生95020的年龄改为22岁。 UPDATE SET WHERE,S age=22 Sno= 95020 ;,An Introduction to Database System,2. 修改多个元组的值,例5 将所有学生的年龄增加1岁。 UP

7、DATE SET,s age= age+1;,An Introduction to Database System,修改多个元组的值(续),例6 将信息系所有学生的年龄增加1岁。 UPDATE SET WHERE,s age= age+1 depa=信息系;,An Introduction to Database System,3. 带子查询的修改语句,例7 将信息系全体学生的成绩置零 将原表备份 SELECT * INTO sc1 FROM sc UPDATE sc1 SET grade=0 WHERE sno IN (SELECT sno FROM s WHERE depa=信息系),UP

8、DATE SC1 SET Grade=0 WHERE 信息系 = (SELECT depa FROM S WHERE S.Sno= SC1.Sno);,An Introduction to Database System,修改数据(续),SET子句 指定修改方式 要修改的列 修改后取值 WHERE子句 指定要修改的元组 缺省表示要修改表中的所有元组,An Introduction to Database System,修改数据(续),DBMS在执行修改语句时会检查修改操作 是否破坏表上已定义的完整性规则 实体完整性 主码不允许修改 用户定义的完整性 NOT NULL约束 UNIQUE约束 值域

9、约束,An Introduction to Database System,12.3 删除数据,DELETE FROM WHERE ; 功能 删除指定表中满足WHERE子句条件的元组 WHERE子句 指定要删除的元组 缺省表示要删除表中的所有元组,An Introduction to Database System,删除数据(续),三种删除方式 删除某一个元组的值 删除多个元组的值 带子查询的删除语句,An Introduction to Database System,1. 删除某一个元组的值,例8 删除学号为95020的学生记录。 DELETE FROM WHERE,s sno=95020;,An Introduction to Database System,2. 删除多个元组的值,例9 删除2号课程的所有选课记录。 DELETE FROM sc WHERE cno=2 例10 删除所有的学生选课记录。 DELETE FROM sc,An Introduction to Database System,3. 带子查询的删除语句,例11删除信息系所有学生的选课记录。 DELETE FROM sc1 WHERE sno IN (SELECT sno FROM s WHERE depa=信息系),An Introduction to Database System,删除

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论