变量作用域
变量作用域:变量能够使用的区域范围
局部作用域
使用declare关键字声明(在结构体内:函数/存储过程/触发器),而且只能在结构体内部使用。
declare关键字声明的变量没有任何符号修饰,就是普通字符串,如果在外部能够访问该变量,系统会自动认为是字段。
会话作用域
用户定义的:使用@符号定义的变量,使用set关键字。
会话作用域:在当前用户当次连接有效,只要在本连接之中,任何地方都可以使用(可以在结构内部,也可以跨库)
mysql中变量不用事前申明,在用的时候直接用“@变量名”使用就可以了。
set @userid='00625295';
select * from user where userid=@userid;
组合变量
邮箱=工号+后缀(042101+@qq.com)
使用CONCAT()的用法
CONCAT()函数用于将多个字符串连接成一个字符串,是最重要的mysql函数之一
mysql CONCAT(str1,str2,…)
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。 如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col)
变量组合使用
set @userid='00625295';
set @username=CONCAT(@userid,'姓名'),@EMAIL=CONCAT(@userid,'@SF-EXPRESS.COM');
INSERT INTO user`(`EMP_NUM`, `EMP_NAME`, `EMAIL`) VALUES (@userid, @username, @EMAIL);