在 MySQL 中,除了支持标准的存储过程和函数外,还引入了表达式。表达式与其它高级语言的表达式一样,由变量、运算符和流程控制来构成。
变量是表达式语句中最基本的元素,可以用来临时存储数据。在存储过程和函数中都可以定义和使用变量。用户可以使用 DECLARE 关键字来定义变量,定义后可以为变量赋值。这些变量的作用范围是 BEGIN...END 程序段中。
下面将讲解如何定义变量和为变量赋值。
1. 定义变量
MySQL 中可以使用
DECLARE
关键字来定义变量,其基本语法如下:
DECLARE var_name[,...] type [DEFAULT value]
DECLARE 关键字是用来声明变量的;
var_name 参数是变量的名称,这里可以同时定义多个变量;
type 参数用来指定变量的类型;
DEFAULT value 子句将变量默认值设置为 value,没有使用 DEFAULT 子句时,默认值为 NULL。
下面定义变量 my_sql,数据类型为 INT 类型,默认值为 10。SQL 语句如下:
DECLARE my_sql INT DEFAULT 10;
2. 为变量赋值
MySQL 中可以使用
SET
关键字来为变量赋值,SET 语句的基本语法如下:
SET var_name = expr[,var_name = expr]...
SET 关键字用来为变量赋值;
var_name 参数是变量的名称;
expr 参数是赋值表达式。
注意:一个 SET 语句可以同时为多个变量赋值,各个变量的赋值语句之间用逗号隔开。
下面为变量 my_sql 赋值为 30。SQL 语句如下:
SET my_sql=30;
MySQL 中还可以使用
SELECT..INTO
语句为变量赋值。其基本语法如下:
SELECT col_name [...] INTO var_name[,...]
FROM table_name WEHRE condition
col_name 参数表示查询的字段名称;
var_name 参数是变量的名称;
table_name 参数指表的名称;
condition 参数指查询条件。
注意:当将查询结果赋值给变量时,该查询语句的返回结果只能是单行。
下面从 tb_student 表中查询 id 为 2 的记录,将该记录的 id 值赋给变量 my_sql。SQL 语句如下:
SELECT id INTO my_sql FROM tb_student WEHRE id=2;
关注公众号「
站长严长生
」,在手机上阅读所有教程,随时随地都能学习。本公众号由
C语言中文网站长
亲自运营,长期更新,坚持原创。
微信扫码关注公众号