MySQL变量

系统变量(会话变量,全局变量)

  1. 会话范围内的系统变量

    • 会话变量只对用户有效。每次连接mysql到服务时,会话变量的初始值以全局系统变量的值为准。客户端只能更改自己本次连接的会话变量,不能更改其他客户端的会话变量,退出客户端断开连接时变量复原,并且不会影响其他客户端,系统变量影响全局。
    • 查看所有的会话变量:

      show session variables;
    • 显示指定会话变量:

      show session variables like 'auto%';
    • 修改会话变量:

      set [session] autocommit='off';
      set @@[session.]autocommit='off';
  2. 全局范围内的系统变量

    • mysql全局变量对所有用户有效。服务器启动时,将全局变量初始化为默认值,这些默认值可以在配置文件或命令行中更改。想要更改全局变量,必须具有super权限。设置会话变量不需要特殊的权限。
  3. 设置和查看

    • 设置系统变量

      set @@[session|global].变量名=值;  
      set [session|global] 变量名=值
      默认(没有指明session或者global)为session
      例如: 
      set @@session.sort_buffer_size=4000;
      set session sort_buffer_size=4000;
    • 查看系统变量

      show [session|global] variables;
      show [session|global] variables like 'auto%';
      select @@[session|global].autocommit;
      //没有指明就显示session.

用户自定义变量

  • 特殊的会话变量,只在本次连接有效。与会话系统变量不同的是,用户自定义变量的名称是用户自定义的,而会话系统变量的名称是系统定义好的。
  • 设置与查看
set @var_name = 'var_value';
set @var_name := 'var_value';
select @var_name;

局部变量

  • 局部变量即为在存储过程、存储函数或者触发器begin和end声明的变量,例如
//定义
begin
    delcare name varchar(30) default 'hello world';
end

//赋值
set name = 'wang';
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值