17 MySQL变量:声明与赋值

本文深入探讨MySQL存储程序中变量的使用,包括变量声明、作用域及赋值方式。涵盖如何声明变量、设置默认值、以及通过SET和SELECT语句进行赋值的详细语法。并提供函数示例,展示变量在提升函数可读性和灵活性方面的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

变量: 可在存储程序(存储过程和函数)中使用变量;
变量作用域: 在存储程序中的 begin...end 间;

1、MySQL变量:声明:
declare varName[,varName2...] type[default value];

declare 声明关键字;
② varName[,varName2…] 变量名;可多个变量同时声明;
③ type 变量的数据类型;
④ default value 可添加默认value值,如:

declare num int default 10;
2、MySQL变量:赋值:

通过赋值改变默认值

set varName =value
	,...
	,varName_n =value_n;	/* 赋值SQL语法1 */

① value可以是其它SQL表达式; ② 可多个变量:键值对形式并(,)逗号隔开

select col_name[,...] 
into varName[,...]
table_expr; 				/* 赋值SQL语法2 */

查询 col_name[,…] 并把结果赋值给 varName[,…];以 table_expr 条件查询
示例A

set num=100;
select store into num from bookinfo;
/*从bookinfo表查询store库存,再赋值给num */

示例B:

create function show_name_store(bid int)
returns varchar(50)
return (select concat_ws('----',book_name,store) from bookinfo where book_id=bid);

添加变量,使函数show_name_store()更具可读性

delimiter //
create function show_name_store(bid int)
returns varchar(50)
begin
  declare result varchar(50);
  select concat_ws('----',book_name,store) into result from bookinfo where book_id=bid;
  return (result);
end //
delimiter ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值