变量

    技术2025-01-27  7

    变量 系统变量:全局变量(global)、会话变量(session) 自定义变量:用户变量、局部变量

    系统变量

    系统变量:变量由系统提供,不是用户定义,属于服务器层面

    查看系统变量

    查看系统变量

    #查看所有的系统变量 SHOW GLOBAL|SESSION VARIABLES; #global是全局,session是会话 #如果没有显式声明global还是session,则默认是session #查看满足条件的部分系统变量 SHOW GLOBAL|SESSION VARIABLES LIKE '';

    查看指定的系统变量的值

    SELECT @@global|session.变量名; #如果没有显式声明global还是session,则默认是session

    为系统变量赋值

    #方式一 SET GLOBAL|SESSION 系统变量名 =; ##如果没有显式声明global还是session,则默认是session #方式二 SET @@global|session.系统变量名 =; SET @@变量名=;

    全局变量

    服务器层面上的,必须拥有super权限才能为系统变量赋值,作用域为整个服务器,也就是针对所有连接(会话)有效,但不能跨重启

    会话变量

    服务器为每一个连接的客户端都提供了系统变量,作用域为当前的连接(会话)

    自定义变量

    用户变量

    作用域:针对于当前连接(会话)生效,同于会话变量的作用域 位置 begin end里面,也可以放在外面

    使用: ①声明并初始化

    SET @用户变量名=; SET @用户变量名:=; SELECT @用户变量名:=;

    ②更新值

    #方式一 SET @用户变量名=; SET @用户变量名:=; SELECT @用户变量名:=; #方式二 SELECT 字段 INTO @用户变量名 FROM;

    ③使用(查看用户变量的值)

    SELECT @用户变量名;

    局部变量

    作用域:仅仅在定义它的 begin end 中有效 位置:只能放在 begin end 中,而且只能放在第一句

    使用: ①声明

    DECLARE 变量名 类型; DECLARE 变量名 类型 DEFAULT;

    ②赋值或更新

    #方式一 SET 局部变量名=; SET 局部变量名:=; SELECT @局部变量名:=; #方式二 SELECT 字段 INTO 局部变量名 FROM;

    ③使用

    SELECT 局部变量名;
    Processed: 0.010, SQL: 9