如何使用mysql变量-创新互联

小编这次要给大家分享的是如何使用mysql变量,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。

创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的梁园网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

本文内容:

  • 系统变量
  • 用户变量
    • 局部变量

首发日期:2018-04-18


系统变量:
  • 系统变量就是系统已经提前定义好了的变量
  • 系统变量一般都有其特殊意义。比如某些变量代表字符集、某些变量代表某些mysql文件位置
  • 系统变量中包括会话级变量(当次会话连接生效的变量,如names),以及全局变量(一直生效的变量) 【系统变量中全局变量和会话变量其实是使用一套变量,不同的是会话变量仅当次会话生效。】
    • 会话变量的赋值:set 变量名 = 值;  【比如常用的set names ="utf8";】或者set @@变量名=值
    • 全局变量的赋值:set global 变量名 = 值;
查看系统变量:
  • show variables;
系统变量的调用:
  • select @@变量名;

用户变量:
  • 用户变量就是用户自己定义的变量。
  • 系统为了区别系统变量跟自定义变量,规定用户自定义变量必须使用一个@符号
  • 变量的定义方式:
    • set @变量名=1
    • select @变量名:=值;
    • select 值 into @变量名;
  • 用户变量可以不声明定义,就可以直接使用,不过默认是null值
  • 用户变量都是会话级的变量,仅在当次连接中生效。
局部变量:
  • 由于局部变量是用户自定义的,可以认为局部变量也是用户变量【但有所不同,局部中不需要使用@】
  • 局部变量一般用在sql语句块中,比如存储过程块、触发器块等
  • 局部变量的定义方法:
    • 先使用declare声明局部变量,其中可选项default后面可以跟一个付给变量的默认值:【非常重要的一步,不然会设置成用户变量】【注意:变量声明语句要在其他语句如select语句之前】    
      • 示例:declare myq int;
      • 示例:declare myq int default 666;
    • 设置变量的值:
      • set 变量名= 值;
    • 获取变量的值:
      • select 变量名;
create procedure myset()
begin 
 declare mya int;
 declare myq int default 777;
 select mya,myq;
 set myq=6;
 set mya=666;
 select mya,myq;
end;

call myset();

分享标题:如何使用mysql变量-创新互联
标题路径:http://scyanting.com/article/ddpoio.html