数据库第三章3.4-3.6课件.ppt

  1. 1、本文档共126页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库第三章3.4-3.6课件

第三章 关系数据库标准语言SQL 数据库系统原理 河南理工大学 计算机科学与技术学院 第三章 关系数据库标准语言SQL 3.1 SQL概述 3.2 数据定义 3.3 查询 3.4 数据更新 3.5 视图 3.6 数据控制 3.7 嵌入式SQL 3.8 小结 3.4 数据更新 3.4.1 插入数据 两种插入数据方式 插入单个元组 插入子查询结果 插入单个元组 语句格式 INSERT INTO 表名 [(属性列1[, 属性列2 …)] VALUES (常量1 [, 常量2]…) 功能 将新元组插入指定表中. 插入单个元组(续) INTO子句 指定要插入数据的表名及属性列 属性列的顺序可与表定义中的顺序不一致 没有指定属性列:表示要插入的是一条完整的元组, 且属性列属性与表定义中的顺序一致 指定部分属性列:插入的元组在其余属性列上取空值 VALUES子句 提供的值必须与INTO子句匹配 值的个数 值的类型 插入单个元组(续) DBMS在执行插入语句时会检查所插元组是否破坏表上已定义的完整性规则 实体完整性 参照完整性 用户定义的完整性 对于有NOT NULL约束的属性列是否提供了非空值 对于有UNIQUE约束的属性列是否提供了非重复值 对于有值域约束的属性列所提供的属性值是否在值域范围内 插入单个元组(续) [例1] 将一个新学生记录(学号:95020;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入到Student表中. INSERT INTO Student VALUES (‘95020‘, ’陈冬’, ‘男’, IS‘, 18); [例2] 插入一条选课记录( ‘95020’, 1 ). INSERT INTO SC(Sno, Cno) VALUES (‘95020’, ‘1’); 新插入的记录在Grade列上取空值 插入子查询结果 语句格式 INSERT INTO 表名 [(属性列1 [, 属性列2… )] 子查询; 功能 将子查询结果插入指定表中 插入子查询结果(续) INTO子句(与插入单条元组类似) 指定要插入数据的表名及属性列 属性列的顺序可与表定义中的顺序不一致 没有指定属性列:表示要插入的是一条完整的元组 指定部分属性列:插入的元组在其余属性列上取空值 子查询 SELECT子句目标列必须与INTO子句匹配 值的个数 值的类型 插入子查询结果(续) DBMS在执行插入语句时会检查所插元组是否破坏表上已定义的完整性规则 实体完整性 参照完整性 用户定义的完整性 对于NOT NULL约束的属性列是否提供了非空值 对于UNIQUE约束的属性列是否提供了非重复值 对于有值域约束的属性列所提供的属性值是否在值域范围内 插入子查询结果(续) [例3] 对每一个系, 求学生的平均年龄, 并把结果存入数据库. 第一步:建表 CREATE TABLE Deptage (Sdept CHAR(15) /* 系名*/ Avgage SMALLINT); /*学生平均年龄*/ 第二步:插入数据 INSERT INTO Deptage(Sdept, Avgage) SELECT Sdept, AVG(Sage) FROM Student GROUP BY Sdept; 3.4.2 修改数据 语句格式 UPDATE 表名 SET 列名=表达式[, 列名=表达式]… [WHERE 条件]; 功能 修改指定表中满足WHERE子句条件的元组 修改数据(续) SET子句 指定修改方式 要修改的列 修改后取值 WHERE子句 指定要修改的元组 缺省表示要修改表中的所有元组 修改数据(续) DBMS在执行修改语句时会检查修改操作是否破坏表上已定义的完整性规则 实体完整性 主码不允许修改 用户定义的完整性 NOT NULL约束 UNIQUE约束 值域约束 修改数据(续) 三种修改方式 修改某一个元组的值 修改多个元组的值 带子查询的修改语句 修改某一个元组的值 [例4] 将学生95001的年龄改为22岁. UPDATE Student SET Sage=22 WHERE Sno= 95001 ; 修改多个元组的值 [例5] 将所有学生的年龄增加1岁. UPDATE Student

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档