数据库的创建与存取15页.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文档。上传文档
查看更多
重庆市万州高级技工学校 第六章 数据库的创建与存取( 5 ) 电子商务网页制作 第六章 数据库的创建与存取 --数据查询(连接查询) ? 带有 Exists 谓词的子查询 ? 带有 Exists 谓词的子查询不返回任何数据,只产生逻辑真值 True 或逻辑假值 False 。 ? 可以利用 Exists 来判断 x ∈ S 、 S R 、 S=R 、 S ∩ R 非空是否成立 例 : 查询所有选修了 1 号课程的学生姓名。 Select Sname from Student where Exists(select * from Score where Sno=Student.Sno and Cno=1) ? 使用存在量词 Exists 后,若内层查询结果非空,则外层的 Where 子句返回真值,否则返回假值。 ? 由 Exists 引出的子查询,其目标列表达式通常都用 *, 因为带 Exists 的子查询只返回真值或假值, 给出列名无实际意义。 ? 第六章 数据库的创建与存取 --数据查询(连接查询) 与 Exists 谓词相对应的是 Not Exists 谓词。使用存在量词 Not Exists 后,若内层查询结果为空,则外层 的 Where 子句返回真值,否则返回假值。 例 : 查询没有选修 1 号课程的学生的姓名。 Select Sname from Student where Not Exists(select * from Score where Sno=Student.Sno and Cno=1) 第六章 数据库的创建与存取 --数据更新 ? 数据更新操作有 3 个:向表中添加若干行数据、修改表中的数据和删除表中的若干行数据。 ? 添加数据 SQL 的数据添加语言 Insert 通常有两种形式。 添加一个元组 ? 语法 Insert into 表名 [( 属性列 1[, 属性列2…])] values ( 常量 1[, 常量2…]) ? Values 子句对新元组的各属性赋值,字符串常数要用单引号(英文符号)括起来。 ? Into 子句中没有出现的属性列,新记录在这些列上将取空值 ; ? 在表定义时说明了 Not Null 的属性列不能取空值,否则会出错 ; ? 如果 Into 子句中没有指明任何列名,则新添加的记录必须在每个属性列上均有值。 第六章 数据库的创建与存取 --数据更新 例 : 将一个新的学生记录(学号: 10 ;姓名:陈冬;性别:男;所在系: IS ;年龄: 18 岁)插入到 student 表 中。 Insert into student(sno,sname,ssex,sdept,sage) values(10,陈冬,男,IS,18) 或 Insert into student values(10,陈冬,男,IS,18) 第六章 数据库的创建与存取 --数据更新 ? 添加子查询结果 ? 子查询可以嵌套在 Insert 语句中,用以生成要插入的批量数据。 ? 插入子查询结果的 Insert 语句的格式为: Insert into 表名 [( 属性列 1[, 属性列2…])] 子查询; 例 : 对每个系,求学生的平均年龄,并把结果存入数据库中。 首先创建一个新表,其中一列存放系名,另一列存放相应的学生平均年龄。 create table dept_age(sdept char(15), avg_age smallint) 然后对 student 表按系分组求平均年龄,再把系名和平均年龄存入新表中。 Insert into dept_age(sdept,avg_age) select sdept,AVG(sage) from student group by sdept 第六章 数据库的创建与存取 --数据更新 ? 修改数据 ? 语法 : update 表名 set 列名 = 表达式 [, 列名 = 表达式…] [where 条件 ] ? 注意 : 如果省略 where 子句,则表示要修改表中的所有元组。 ? 修改某一个元组的值 例 : 将学生 2 的年龄改为 22 岁 update student set sage=22 where sno=2 ? 修改所有元组的值 例 : 将所有学生的年龄增加 1 岁 update student set sage=sage+1 ? 带子查询的修改语句(修改多个元组的值) 例 : 将计算机科学系全体学生的成绩置零 update score set score=0 where sno in (select sno from student where sdept =CS) 第六章 数据库的创建与存取 --数据更新 ? 删除数据 ? 语法 : De

文档评论(0)

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

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

1亿VIP精品文档

相关文档