- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.插入子查询的结果集 SQL?允许将子查询的结果嵌到数据插入语句中,以便将查询得到的结果集作为数据插入到数据表中。插入子查询结果集的INSERT语句格式为: INSERT INTO 表名 [(属性列1 [,属性列2… ]) 子查询; 例4-52求每项工程所用零件的总数量。 CREATE TABLE Productsum(Projectno CHAR(10),Sum INT); INSERT INTO Productsum SELECT Projectno,SUM(Account) FROM Supply GROUP BY Projectno; 说明:本例首先用CREATE TABLE语句建立了Productsum基本表,然后使用INSERT语句将查询得到的结果集插入到Productsum基本表中。 4.4.2 删除语句 数据删除语句的一般格式为: DELETE FROM 表名 [WHERE 条件]; DELETE语句的功能是从指定表中删除满足WHERE子句条件的所有元组。如果省略WHERE子句,表示删除表中全部的元组。注意DELETE语句与DROP TABLE语句的区别,DELETE语句删除的是表中的数据,而DROP TABLE语句删除的是表的结构。 例4-53 删除编号为“007”的工程记录。 DELETE FROM Project WHERE Projectno=007; 例4-54 删除所有的供应零件记录。 DELETE FROM Supply; 4.4.3 修改语句 数据修改语句的一般格式为: UPDATE 表名 SET列名=表达式[,列名2=表达式2]… [WHERE 条件]; SQL数据修改语句的功能是将表名中那些符合WHERE子句条件的元组的某些列,用SET子句中给出的表达式的值替代。如果UPDATE语句中无WHERE子句,则表示要修改指定表中的全部元组。在UPDATE语句的WHERE子句中可以嵌入查询语句。 例4-56 将工程表中全部工程的预算增加10%。 UPDATE Project SET Budget= Budget*1.1; 4.5 视图 视图是由基本表或其他视图导出的虚表。数据库中只存放视图的定义,视图并不存放数据,用户在视图中看到的数据存放在相关的基本表中。视图定义之后,和基本表一样可以被用户查询,但通过视图来更新基本表中的数据有一定的限制。视图的作用主要有以下三个方面。 (1)可以减轻普通用户的工作。 普通用户关心的数据往往是对基本表进行计算的,或统计的,或多表连接后的信息,数据库管理员可把这些数据做成视图,使这些视图直接满足普通用户的要求。 (2)视图是数据库系统的一种安全机制。 对不同的用户,提供不同的视图,不让用户直接面对基本表,使得某些重要或机密的数据不出现在无权看这些数据的用户的视图上。 (3)视图可以提高数据的逻辑独立性。 在数据库需要重构时,可以减少对用户和应用程序的影响。 4.5.1视图的定义和删除 1.定义视图 SQL语言定义视图的一般格式为: CREATE VIEW 视图名[(列名1[,列名2]…)] AS 子查询 [WITH CHECK OPTION]; 其中子查询可以是任意复杂的SELECT查询语句,但不同的是在视图中的子查询通常不允许含有ORDER BY子句和DISTINCT短语。 列名是子查询的结果在该视图中的属性名称,它必须与子查询中的目标列相对应。它要么全部省略要么全部指定,但若子查询中的目标列是集函数、表达式和多表连接的同名列时,必须全部指定列名,另外若视图要用与子查询中的目标列名不同的新名时,也必须全部指定列名。 WITH CHECK OPTION选项表示在对视图更新操作时要保证操作的数据满足视图定义的谓词条件。 例4-59 建立红色零件的视图。 CREATE VIEW 红色零件 AS SELECT Ano,Aname,Aplace,Aspec FROM Accessory WHERE Acolor=红; 例4-60 建立一个“002”工程所需零件的视图,其属性包括工程代码,工程名称,所需零件名称,用量,并要求进行修改时须保证该视图只有“002”工程所需的零件。 CREATE VIEW 工程零件 (工程代码,工程名称,所需零件名称,用量) AS SELECT Supply.Projectno , Projectname, Aname ,Account FROM Supply, Project, Accessory WHERE Supply. Projectno= Project. Projectno AND Supply. Ano= Accessory. Ano WITH CHECK
文档评论(0)