第四章第四讲数据库标准语言.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章第四讲数据库标准语言

3. 4. 操纵数据语言 DML 数据操纵语言(DML)是 SQL的一部分,用于在关系型数据库对象中操纵数据。 有三条主要的的DML命令: INSERT 插入纪录 UPDATE 修改纪录 DELETE 删除纪录 这些命令将在第5节中详细讨论。 新术语:查询是对数据库中的信息的寻找和定位。 3.4.1. 插入数据 一、插入单个元组 向数据库文件中插入一条记录(单个元组),该记录添加在文件尾部。语法如下: INSERT INTO [ [, ...] VALUES [, ]... 如果某些属性列在INTO子句中没有出现,则新记录在这些列上将取空值。但必须注意的是,在表定义时说明了NOT NULL的属性列不能取空值。否则会出错。 如果INTO子句中没有指明任何列名,则新插入的记录必须在每个属性列上均有值。 例1:将一个新学生记录(学号:95020;姓名:陈冬;性别:男;所在系:计算机;年龄:18岁)插入Student表中 INSERT INTO Student VALUES 95020, 陈冬, 计算机, IS, 18 ; 例2:在表STUDENT中插人一个新的学生记录。语句如下: INSERT INTO Student 学号,姓名,年龄,性别,系名,宿舍,家庭地址 VALUES ’9603”,”刘京”,16,”男”,”计算机”,”l-301”,”北京海淀” 例3:插入一条选课记录 95020,1 INSERT INTO SC Sno, Cno VALUES 95020, 1 新插入的记录在Grade列上取空值。 二、插入子查询结果 子查询不仅可以嵌套在SELECT语句中,用以构造父查询的条件(如3.3.3节所述),也可以嵌套在INSERT语句中,用以生成要插入的数据。 插入子查询结果的INSERT语句的格式为: INSERT INTO [ [, ...] 子查询; 其功能是以批量插入,一次将子查询的结果全部插入指定表中。 例4.对每一个系,求学生的平均年龄,并把结果存入数据库 对于这道题,首先要在数据库中建立一个有两个属性列的新表,其中一列存放系名,另一列存放相应系的学生平均年龄。 CREATE TABLE Deptage Sdept CHAR 15 ; Avgage SMALLINT ; 然后对数据库的Student表按系分组求平均年龄,再把系名和平均年龄存入新表中。 INSERT INTO Deptage Sdept, Avgage SELECT Sdept, AVG Sage FROM Student GROUP BY Sdept; 3.4.2 修改数据 修改操作又称为更新操作,可对表中的字段值进行修改。其语句的一般格式如下: UPDATE SET [, ]... [WHERE ]; 其功能是修改指定表中满足WHERE子句条件的元组。其中SET子句用于指定修改方法,即用的值取代相应的属性列值。如果省略WHERE子句,则表示要修改表中的所有元组。 一、改某一个元组的值 例5.将学生95001的年龄改为22岁: UPDATE Student SET Sage 22 WHERE Sno 95001; 二、修改多个元组的值 例6:将表STUDENT中所有学生的年龄增加 1岁,语句如下: UPDATE Student SET Sage Sage+1; 三、带子查询的修改语句 查询也可以嵌套在UPDATE语句中,用以构造执行修改操作的条件。 例 7. 将计算机科学系全体学生的成绩置零 UPDATE SC SET Grade 0 WHERE CS SELETE Sdept FROM Student WHERE Student.Sno SC.Sno ; 四、修改操作与数据库的一致性 UPDATE语句一次只能操作一个表。这会带来一些问题。例如,学号为95007的学生因病休学一年,复学后需要将其学号改为96089,由于Student表和SC表都有关于95007的信息,因此两个表都需要修改,这种修改只能通过两条UPDATE语句进行。 第一条UPDATE语句修改Student表: UPDATE Student SET Sno 96089 WHERE Sno 95007; 第二条UPDATE语句修改SC表: UPDATE SC SET Sno 96089 WHERE Sno 95007; 3.4.3 删除数据 DELETE命令用于给记录加删除标志,其使用格式为: DELETE FROM [WHERE ]; 其中FROM子句用于指定将要给记录加删除标志的表名称;WHERE子句用于指定加删除标志的记录条件,条件是一个

文档评论(0)

liudao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档