内容正文:
MySQL数据库应用开发
任务7.1 MYSQL存储过程
任务7.1 MYSQL存储过程
编程基础
运算符和表达式
系统函数
存储过程
存储函数
知识点小结
本节实验
编程基础
存储过程和存储函数是MySQL自5.0版本后开始支持的过程式数据库对象,是存储在服务器中的一组SQL语句,可以避免开发人员重复地编写相同的SQL语句,也可以提高数据库编程的灵活性。
SQL语言简介
SQL是结构化查询语言(Structured Query Language)的英文首字母,是专门用来与数据库通信的语言。
1. SQL的优点
SQL具有如下优点:
1)SQL不是某个特定数据库供应商专有的语言,所有关系数据库都支持SQL。
2)SQL的语句都是一个或多个关键字构成的,简单易学。
3)SQL的灵活运用可以进行复杂和高级的数据库操作。尽管许多DBMS供应商通过增加语句或指令的方式,对SQL进行了各自的扩展,但仍然需要遵循标准SQL(即ANSI SQL),并以标准SQL为主体,MySQL也不例外。
4)SQL语句不区分大小写。存储过程和存储函数是MySQL
SQL语言组成
MySQL数据库支持的SQL语言主要包括以下几个部分。
1)数据定义语言(Data Definition language,简称DDL)。数据定义语言主要用于对数据库及数据库中的各种对象进行创建、删除、修改等操作。
2)数据操纵语言(Data Manipulation Language,简称DML)。数据操纵语言主要用于操纵数据库中各种对象,特别是检索和修改数据。
3)数据控制语言(Data Control Language,简称DCL)。数据控制语言主要用于安全管理,例如确定哪些用户可以查看或修改数据库中的数据。
4)MySQL扩展增加的语言要素。
标识符
标识符用来给对象命名, 如数据库、表、列、变量等, 以便在脚本中的其他地方引用。MySQL标识符命名规则稍微有点繁琐, 这里我们使用万能命名规则: 标识符由字母、数字或下划线(_)组成, 且第一个字符必须是字母或下划线。说明:(1)MySQL关键字、列名、索引名、变量名、函数名、存储过程名等不区分大小写,但数据库名、表名、视图名则跟操作系统有关,Windows不区分大小写,UNIX、Linux、iOS区分大小写。(2)以特殊字符@@、@开头的标识符用于系统变量和用户会话变量,并且不能用作任何其他类型的对象的名称。
注释
注释是程序代码中不执行的文本字符串,用于对代码进行解释说明。MySQL支持三种注释方式:
1)从“#”到行尾,这是单行注释。
2)从“--”序列到行尾。注意“--”(双破折号)注释风格要求第2个破折号后面至少跟一个空格符(例如空格、tab、换行符等等)。
3)从/*序列到后面的*/序列。结束序列不一定在同一行中,因此该语法允许注释跨越多行。
常量
常量是指在程序运行过程中值不变的量,有字符串常量、数值常量、日期时间常量、布尔值和NULL值。
1)字符串常量:是指用单引号或双引号括起来的字符序列,分为ASCII字符串常量和Unicode字符串常量。
2)数值常量:分为整数和浮点数常量。
3)日期时间常量:是用单引号将表示日期时间的字符串括起来构成的。
4)布尔值:只包含两个可能的值,分别是TRUE和FALSE。其中,FALSE的数字值是“0”,TRUE的数字值是“1”。
5)NULL值:通常用于表示“没有值”“无数据”等意义,与数值0或字符串类型的空字符串是完全不同的。
变量
变量是指在程序运行过程中值可以改变的量,用于临时存放数据。变量具有变量名、值和数据类型3个属性;变量名用于标识该变量;值是该变量的取值;数据类型就是值的数据类型,用于确定该变量存放值的格式及允许的运算。
在MySQL数据库中,变量分为系统变量(以@@开头)和用户自定义变量。其中,系统变量分为系统会话变量和全局系统变量,静态变量属于特殊的全局系统变量。用户自定义变量分为用户会话变量(以@开头)和局部变量(不以@开头)。
任务7.1 MYSQL存储过程
编程基础
运算符和表达式
系统函数
存储过程
存储函数
知识点小结
本节实验
算数运算符和算数表达式
MySQL数据库支持的算术运算符包括加、减、乘、除和取余运算。表7-1列出了这些运算符及其作用。
说明:
除法运算和求余运算中,如果除数为0,将是非法除数,返回结果为 NULL。
对于求余运算,还有另外一种表达方式,使用 MOD(a,b) 函数与 a%b 效果一样。
运算符 作用
+ 加法运算
- 减法运算
* 乘法运算
/ 除法运算,返回商
% 求余运算,返回余数
比较运算符和比较表达式
比较运算符如表7-2所示。比较表达式的结果为真(TRU