1.变量

变量:
    1.系统变量
        1.1全局变量:
            作用域:服务器每次启动将会为所有的全局变量赋初始值,针对所有的会话(连接)有效,但不能跨重启(即数据库重启后,又会恢复到默认值)
        1.2会话变量
            作用域:仅仅针对于当前会话(连接)有效
            
    2.自定义变量:作用域:针对于当前会话(连接)有效。同于会话变量的作用域
        2.1用户变量
        2.2局部变量
        

1.系统变量:由系统提供,不是用户定义,属于服务器层面
使用语法:
    1.查看所有的系统变量
        1.查看所有的全局变量
            show global variables;
        2.查看会话变量:session可以省略,
            show session variables;
    2.查看满足条件的部分系统变量
        show global variables like '%char%'
    3.查看指定的某个系统变量的值
        select @@global.系统变量名
        select @@session.系统变量名
    4.为某个系统变量赋值:【】的意思是可写可不写
        set global|【session】系统变量名=值;
        方式2:
        set @@global|【session】.系统变量名=值;
        
注意点:
    如果是全局界别,则需要加global,如果是会话级别,则需要加session,如果不写,则默认是session
    
    
    
2.用户的自定义变量:
    作用域:当前会话,可以定义在会话的任何地方
    使用:(查看,比较,运算等)
    声明并初始化
        1.set @用户变量名=值;
        2.set @用户变量名:=值;
        3.select @用户变量名:=值;
    赋值(更新用户变量的值)
         1.set @用户变量名=值;
         2.set @用户变量名:=值;
         3.select @用户变量名:=值;
         4.select 字段 into 变量名 from 表;
         
3.局部变量
    作用域:仅仅在定义它的begin end 中有效
    应用在begin end中的第一句话
    1.声明:
        declare 变量名 类型;
        declare 变量名 类型 default 值;
    2.赋值:
         1.set 局部变量名=值;
         2.set 局部变量名:=值;
         3.select @局部变量名:=值;
         4.select 字段 into 局部变量名 from 表;
     3.使用
         select 局部变量名;
         
案例:声明两个变量并附初始值,求和,并打印
1.用户变量:
    set @m=1;
    set @n=2;
    set @sum = @m+@n;
    select @sum;
2.局部变量
      BEGIN
        	DECLARE m INT DEFAULT 1;
        	DECLARE n INT DEFAULT 2;
        	DECLARE sum int;
        	SET sum=m+n;
        END
        
        select sum;

 

posted @ 2022-05-25 20:38  努力的达子  阅读(41)  评论(0编辑  收藏  举报