- 1、本文档共258页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
自考04735《数据库系统原理》笔记_20180820讲解课件.ppt
5.4 SQL的数据更新 1.数据插入: INSERT INTO 基本表名(列名表) VALUES(元组值) 或 INSERT INTO 基本表名(列名表) SELECT 查询语句 其中元组值可以连续插入。用查询语句可以按要求插入所需数据。 . * 2.数据删除: DELETE FROM 基本表名 [ WHERE 条件表达式] . * 3.数据修改: UPDATE 基本表名 SET 列名=值表达式,[列名=值表达式...] [ WHERE 条件表达式] . * 5.5 视图 1.视图的创建和撤消 创建: CREATE VIEW 视图名(列名表) AS SELECT 查询语句 撤消: DROP VIEW 视图名 . * 2.视图的操作 查询与关系中一致 更新与关系不同 如果视图是从多个使用联接操作导出的,不允许对此视图更新 如果在导出视图的过程中,使用了分组和聚合函数,不允许对此视图更新。 如果视图是从单个关系使用选择、投影操作导出的,并且包含了关系的主健或某个候选健,称此视图为“行列子集视图”,允许对此视图更新。 . * CREATE VIEW S_MAIL AS SELECT S#, SNAME, AGE FROM S WHERE SEX=‘M’ INSERT INTO S_MALE VALUES(‘S28’, ‘WU’, 18) 与 INSERT INTO S VALUES(‘S28’, ‘WU’, 18, ‘M’) 相同 . * 3.视图的优点 使用视图的优点: 视图提供了逻辑数据的独立性 简化了用户观点 用户只需关心视图的内容,而不必关心构成视图的若干关系的联结、投影操作。 能够将对数据库的访问限制在一定范围内,有利于数据安全保护功能。 可针对不同的用户定义不同的视图,在视图种只出现用户需要的数据,系统提供视图让用户使用。 . * 5.6 嵌入式SQL 1.SQL语言提供了两种不同的使用方式: 交互式 嵌入式 为什么要引入嵌入式SQL SQL语言是非过程性语言 事务处理应用需要高级语言 这两种方式细节上有差别,在程序设计的环境下,SQL语句要做某些必要的扩充。 . * 2.嵌入式SQL的一般形式 为了区分SQL语句与主语言语句,需要: 前缀:EXEC SQL 结束标志:随主语言的不同而不同 以C为主语言的嵌入式SQL语句的一般形式 EXEC SQL SQL语句; 例:EXEC SQL DROP TABLE Student; 以COBOL作为主语言的嵌入式SQL语句的一般形式 EXEC SQL SQL语句 END-EXEC 例: EXEC SQL DROP TABLE Student END-EXEC . * 3.DBMS处理宿主型数据库语言SQL的方法 预编译 修改和扩充主语言使之能处理SQL语句。 . * 4.嵌入式SQL语句与主语言之间的通信 将SQL嵌入到高级语言中混合编程,程序中会含 有两种不同计算模型的语句 SQL语句 描述性的面向集合的语句 负责操纵数据库 高级语言语句 过程性的面向记录的语句 负责控制程序流程 . * 5.工作单元之间的通信方式 1) SQL通信区 向主语言传递SQL语句的执行状态信息 主语言能够据此控制程序流程 2) 共享变量 主语言向SQL语句提供参数 将SQL语句查询数据库的结果交主语言进一步处理 3) 游标 解决集合性操作语言与过程性操作语言的不匹配 . * 6.共享变量 什么是共享变量 嵌入式SQL语句中可以使用主语言的程序变量来输入或输出数据 在SQL语句中使用的主语言程序变量简称为共享变量(Host Variable) . * 在SQL语句中使用共享变量和指示变量的方法 1)说明共享变量和指示变量 BEGIN DECLARE SECTION ......... ......... (说明共享变量和指示变量) ......... END DECLARE SECTION . * 7.游标(cursor) 为什么要使用游标 SQL语言与主语言具有不同数据处理方式 SQL语言是面向集合的,一条SQL语句原则上可以产生或处理多条记录。 . * 什么是游标 游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。 每个游标区都有一个名字。 用户可以用SQL语句逐一从游标中获取记录,并赋给共享变量,交由主
文档评论(0)