MySQL变量的用法

在编写存储过程中,有时需要使用变量,保存数据处理过程中的值
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中。

标签:MySQL 发布于:2019-11-16 04:26:43