mysql的变量定义(declare,t,@)
MySQL变量⼀共分为两⼤类:⽤户⾃定义变量和系统变量。如下:
⽤户⾃定义变量
局部变量
快乐多多会话变量
系统变量
会话变量公司简历
全局变量
⽤户变量:以”@”开始,形式为”@变量名”。⽤户变量跟mysql客户端是绑定的,设置的变量,只对当前⽤户使⽤的客户端⽣效
全局变量:定义时,以如下两种形式出现,t GLOBAL 变量名 或者 t @@global.变量名,对所有客户端⽣效。只有具有super权限才可以设置全局变量
会话变量:只对连接的客户端有效。
局部变量:作⽤范围在begin到end语句块之间。在该语句块⾥设置的变量。declare语句专门⽤于定义局部变量。t语句是设置不同类型的变量,包括会话变量和全局变量
⽤户定义的变量就叫⽤户变量。这样理解的话,会话变量和全局变量都可以是⽤户定义的变量。只是他们是对当前客户端⽣效还是对所有客户端⽣效的区别了。所以,⽤户变量包括了会话变量和全局变量
妇联工作计划局部变量与⽤户变量的区分在于两点:1.⽤户变量是以”@”开头的。局部变量没有这个符号。2.定义变量不同。⽤户变量使⽤t语句,局部变量使⽤declare语句定义 3.作⽤范围。局部变量只在begin-end语句块之间有效。在begin-end语句块运⾏完之后,局部变量就消失了。
所以,最后它们之间的层次关系是:变量包括局部变量和⽤户变量。⽤户变量包括会话变量和全局变量
declare定义变量
注意:declare定义的变量名不能带‘@’符号
DELIMITER $$
CREATE PROCEDURE test_while_001(IN in_count INT) # 创建存储过程学习while循环的⽤法
BEGIN
DECLARE COUNT INT DEFAULT 0;
DECLARE SUM INT DEFAULT 0;
WHILE COUNT < in_count DO
SET SUM = SUM + COUNT;
SET COUNT = COUNT + 1;
END WHILE;
SELECT SUM;
END $$
DELIMITER ;
2.调⽤存储过程
CALL test_while_001(10); # 45 输出
3.删除存储过程
DROP PROCEDURE test_while_001;
猪肝汤怎么做好吃
例⼆:
1.创建函数
DELIMITER $$
CREATE FUNCTION my_test_function(quantity INT(10)) RETURNS INT(10) # 创建函数学习while循环的⽤法
BEGIN
WHILE quantity MOD 12 > 0 DO
SET quantity = quantity + 1;
民主生活会工作方案END WHILE;
RETURN quantity;
END $$
DELIMITER ;
注意:创建函数之前必须更改系统设置 否则⽆法创建函数
SET GLOBAL log_bin_trust_function_creators=TRUE;
皇帝新衣打一字
2.调⽤函数
SELECT my_test_function(10);
SELECT my_test_function(24);
中国清真寺
SELECT my_test_function(222);
3.删除函数
DROP FUNCTION my_test_function;
mysql SET定义变量
mysql t也可以⽤来定于变量,定义变量的形式是以”@”开始,如:”@变量名”。
mysql SET定义变量实例:
SET @t1=0, @t2=1, @t3=2;
SELECT @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;
mysql declare和t定义变量的区别
mysql declare和t定义变量,除了⼀个不加@和⼀个加@这个区别之外
教学随笔小学语文
declare⽤来定义局部变量
@⽤来定义会话变量
@”符号,叫做会话变量,代表整个会话过程他都是有作⽤的,这个有点类似于全局变量⼀样。这种变量⽤途⽐较⼴,因为只要在⼀个会话内(就是某个应⽤的⼀个连接过程中),这个变量可以在被调⽤的存储过程或者代码之间共享数据