MySQL定义和变量赋值

Posted 活灵活现

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL定义和变量赋值相关的知识,希望对你有一定的参考价值。

变量可以在子程序(性能、存储过程、匿名块)声明和使用。这些变量的范围是在BEGIN...END规划。

变量的定义

语法格式:

 

DECLARE var_name [, var_name]... data_type [ DEFAULT value ];

 

var_name为局部变量的名称;

DEFAULT value子句指定指定变量的默认值,value除了能够被声明为一个常量外,还能够被指定为一个表达式。假设没有DEFAULT子句,变量的初始值为NULL。

演示样例:

DECLARE myparam INT DEFAULT 100;

变量赋值

定义变量以后。为变量赋值能够改变变量的默认值。mysql中使用SET语句为变量赋值。

在存储程序中的SET语句是一般SET语句的扩展版本号。被參考变量可能是子程序内声明的变量,或者是全局server变量。如系统变量或者用户变量。

 

语法1:

 

SET var_name=expr [, var_name=expr]...;

 

演示样例1:

声明3个变量,分别为var1, var2和var3。数据类型为INT,使用SET为变量赋值

DECLARE var1, var2, var3 INT;
SET var1=10, var2=20;
SET var3=var1+var2;

语法2:SELECT INTO为变量赋值

SELECT INTO语法把选定的列直接存储到相应位置的变量。

MySQL中还能够通过SELECT...INTO为一个或者多个变量赋值,语法例如以下:

 

SELECT col_name[,...] INTO var_name[,...] table_expr [WHERE...];

 

演示样例2:

声明变量v_employee_name和v_employee_salary,通过SELECT...INTO语句查询指定记录并为变量赋值:

DECLARE v_employee_name VARCHAR(100);
DECLARE v_employee_salary DECIMAL(8,4);

SELECT employee_name, employee_salary
INTO v_employee_name, v_employee_salary
FROM employees
WHERE employee_id=1;

以上是关于MySQL定义和变量赋值的主要内容,如果未能解决你的问题,请参考以下文章

MySQL定义和变量赋值

如何给sqlserver 存储过程中的变量赋值?

Mysql将存储过程执行后的值赋值给变量

MySQL存储过程相关指令和函数集

mysql中使用@变量名:=值 生成的变量如何查看和删除?

mysql补充:局部变量