MySQL变量的使用

来源:互联网 发布:淘宝一星店能刷几单? 编辑:程序博客网 时间:2024/06/06 13:05

在编写存储过程中,有时需要使用变量,保存数据处理过程中的值
MySQL中,变量可以在子程序中,声明并使用,作用范围在BEGIN……END程序中

定义变量

在存储过程中,使用DECLARE语句,定义变量
语法格式
DECLARE var_name[,varname]……date_type[DEFAULT value]

参数说明

Var_name,为局部变量的名称
DEFAULT value,子句给变量提供一个默认值,该值除了可以声明为一个常数之外,还可以被指定为一个表达式
如果,没有DEFAULT子句,变量的初始值为NULL

定义一个名称为myvariable的变量,类型为INT类型,默认值为100
DECLARE myvariable INT DEFAULT 100;

使用SET为变量赋值

定义变量之后,为变量赋值,改变变量的默认值
MySQL中,使用SET语句为变量赋值
SET var_name=expr [,var_name=expr]……;

MySQL中
允许不同的变量类型,局域声明变量及全局变量,可以混合起来
允许把局部变量,和一些只对系统变量有意义的选项合并起来
SET a=x,b=y,……

声明三个变量,分别为var1、var2、var3,数据类型为INT,使用SET为变量赋值
DECLARE var1,var2,var3 int;
SET var1=10,var2=20;
SET var3=var1+var2;

使用SELECT……INTO为变量赋值

此外,除了使用SET为变量赋值
MySQL中,可以使用SELECT……INTO为一个或多个变量赋值
该语句可以把选定的列,直接存储到对应位置的变量
语法格式
SELECT col_name[……] INTO var_name [……] table_expr;

参数说明

Col_name,表示字段名称
Var_name,表示定义的变量名称
Table_expr,表示查询条件表达式,包括表名称和WHERE子句

声明变量s_grade和s_gender,通过SELECT……INTO语句,查询指定记录,并为变量赋值

这里写图片描述

上述语句,将student表中,name为rose的同学的成绩和性别,分别存入到了变量s_grade和s_gender中

原创粉丝点击