灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2346回复:0

[mysql]MySQL变量分类及用法简析

楼主#
更多 发布于:2012-09-01 02:17

MySQL一共有2种变量,用户的和系统的

用户的又分为局部变量和Session级变量

系统的分为Session级变量和Global级变量

系统:
  www.atcpu.com  
MySQL的大部分配置选项都有相应的Session级或Global级的变量可以用在客户端程序如mysql中来改变,从而影响MySQL对mysql连接的响应

设定Global级的变量,影响的是所有之后连接到服务器的mysql连接

设定session级的变量,影响的是服务器对当前连接的响应

设定系统级的这两种变量的方式是

set @@global.var_name = ;

set @@session.var_name = ;

用户:

用户可以设置一些自定义的变量来存储将要重复使用的数据,方便后续程序的使用

局部变量:用declare声明,只能用在begin end语句块中,并且必须在begin end语句块的开始定义,通常用于存储程序中



01
CREATE PROCEDURE sp1 (x VARCHAR(5))
02
  BEGIN
03
    DECLARE xname VARCHAR(5) DEFAULT 'bob';
04
    DECLARE newname VARCHAR(5);
05
    DECLARE xid INT;
06
       www.atcpu.com  
07
    SELECT xname,id INTO newname,xid
08
      FROM table1 WHERE xname = xname;
09
    SELECT newname;
10
  END;
session级变量:又叫会话变量,用set设定,设定之后,在后面的所有可以使用变量的地方都能使用它
1
SET @t1=0, @t2=0, @t3=0;
2
SELECT @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;





喜欢0 评分0
游客

返回顶部