[工学]数据库8.ppt

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

An Introduction to Database System 本章内容 数据存取核心处理语言(kernel engine) 服务器端编程(存储过程/函数或触发器) 应用编程:基于应用编程接口的API 特定接口(lib for c/php lib) 统一的接口(odbc/jdbc) 语言的统一和标准 1、核心的语言 主要是我们曾经学习的SQL语言为典型代表,核心的算法主要采用关系代数所对应的基本算法 一个查询的构造 过程和相关概念 不关联子查询 SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2); 在本例中,SELECT * FROM t1...是外部查询(或外部语句),(SELECT column1 FROM t2)是子查询。 我们可以说子查询嵌套在外部查询中。实际上,子查询也可以嵌套在其它子查询中,嵌套程度可以很深。子查询必须要位于圆括号中。 关联子查询 相关联的子查询是一个包含对表的引用的子查询。该表也显示在外部查询中。例如:SELECT * FROM t1 WHERE column1 = ANY (SELECT column1 FROM t2 WHERE t2.column2 = t1.column2); 子查询位置 通常放在选择子句(短语 clause)中,包括 Where子句 Having子句 Mysql 基本SQL语句 参见手册 或者 /doc/refman/5.1/zh/sql-syntax.html 课件mysql的SQL语言也是非常丰富和强大的 2、服务器端编程-存储程序 Mysql的服务器端语言 概要 实现形式:函数/过程、触发器 存储过程的概念: 所谓的存储过程就是存储在数据库当中的可以执行特定工作(查询和更新)的一组SQL代码的程序段。 为什么使用存储过程(优点): 存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。 当对数据库进行复杂操作时(如对多个表进行Update、Insert、Query、Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。 存储过程可以重复使用,可减少数据库开发人员的工作量。 安全性高,可设定只有某此用户才具有对指定存储过程的使用权。 Mysql存储过程内容 存储过程创建、删除的基本语法 存储过程中的变量 BEGIN...END复合语句 流程控制结构语句 注释语法 使用权限 条件和异常处理程序 游标 基本的创建、删除语法: CREATE PROCEDURE sp_name ([proc_parameter[,...]])??? [characteristic ...] routine_body 默认地,子程序与当前数据库关联。要明确地把子程序与一个给定数据库关联起来,可以在创建子程序的时候指定其名字为db_name.sp_name。 ? sp_name 存储过程的名字 proc_parameter指定参数为IN, OUT,或INOUT characteristic 特征 routine_body 包含合法的SQL过程语句。 删除 DROP {PROCEDURE | FUNCTION} [IF EXISTS] sp_name 这个语句被用来移除一个存储程序或函数。即,从服务器移除一个制定的子程序。 在MySQL 5.1中,你必须有ALTER ROUTINE权限才可用此子程序。这个权限被自动授予子程序的创建者。 基本的创建、调用、删除语法: delimiter // DROP PROCEDURE IF EXISTS test // CREATE PROCEDURE test /* 存储过程名 */ (IN inparms INT, OUT outparams varchar(32)) /* 输入参数 */ BEGIN /* 语句块头 */ DECLARE var CHAR(10); /* 变量声明 */ IF inparms = 1 THEN /* IF条件开始*/ SET var = hello;

文档评论(0)

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

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

1亿VIP精品文档

相关文档