• MySQL_基础_变量


    变量

    分类
        系统变量:
            全局变量
            会话变量
    
        自定义变量:
            用户变量
            局部变量
    
    说明
        系统变量:
            说明:变量由系统定义,不是用户定义,属于服务器层面
            注意:全局变量需要添加global关键字,会话变量需要添加session关键字,如果不写,默认会话级别
    
        自定义变量:
            说明:变量由用户自定义,而不是系统提供的
            使用步骤:
                1、声明
                2、赋值
                3、使用(查看、比较、运算等)

    系统变量

    全局变量
    作用域:针对于所有会话(连接)有效,但不能跨重启
    
    1、查看所有全局变量
    SHOW GLOBAL VARIABLES;
    
    2、查看满足条件的部分系统变量
    SHOW GLOBAL VARIABLES LIKE '%char%';
    
    3、查看指定的系统变量的值
    SELECT @@global.autocommit;
    
    4、为某个系统变量赋值
    SET @@global.autocommit=0;
    SET GLOBAL autocommit=0;
    
    
    会话变量
    作用域:针对于当前会话(连接)有效
    
    1、查看所有会话变量
    SHOW [SESSION] VARIABLES;
    
    2、查看满足条件的部分会话变量
    SHOW [SESSION] VARIABLES LIKE '%char%';
    
    3、查看指定的会话变量的值
    SELECT @@[session.]autocommit;
    
    4、为某个会话变量赋值
    SET @@[session.]autocommit=0;
    SET [SESSION] autocommit=0;

    自定义变量

    用户变量
    作用域:针对于当前会话(连接)有效,作用域同于会话变量
    
    1、声明并初始化
    SET @变量名=值;
    SET @变量名:=值;
    SELECT @变量名:=值;
    
    2、赋值(更新变量的值)
    方式一:
        SET @变量名=值;
        SET @变量名:=值;
        SELECT @变量名:=值;
    方式二:
        SELECT 字段 INTO @变量名 FROM 表;
    
    3、使用(查看变量的值)
    SELECT @变量名;
    
    
    局部变量
    作用域:仅仅在定义它的begin end块中有效,应用在 begin end中的第一句话
    
    1、声明
    DECLARE 变量名 类型;
    DECLARE 变量名 类型 [DEFAULT 值];
    
    2、赋值(更新变量的值)
    方式一:
        SET 变量名=值;
        SET 变量名:=值;
        SELECT 变量名:=值;
    方式二:
        SELECT 字段 INTO 变量名 FROM 表;
    
    3、使用(查看变量的值)
    SELECT 变量名;
    
    
    案例
    1、声明两个变量,求和并打印
        # 用户变量
        SET @m=1;
        SET @n=1;
        SET @sum=@m+@n;
        SELECT @sum;
    
        # 局部变量
        DECLARE m INT DEFAULT 1;
        DECLARE n INT DEFAULT 1;
        DECLARE sum INT;
        SET sum=m+n;
        SELECT sum;
    
    区别
                作用域                定义位置                语法
        用户变量    当前会话             会话的任何地方           加@符号, 不用指定类型
        局部变量    定义它的BEGIN END中     BEGIN END的第一句话    不加@, 需要指定类型
  • 相关阅读:
    20172327 2018-2019-1 《程序设计与数据结构》实验三:查找与排序
    团队作业第二周
    需求规格说明书
    广度优先遍历
    团队作业第一周
    20172327 2018-2019-1 《程序设计与数据结构》第九周学习总结
    20172327 2018-2019-1 《程序设计与数据结构》实验二:树实验报告
    20172327 2018-2019-1 《程序设计与数据结构》第八周学习总结
    20172327 2018-2019-1 《程序设计与数据结构》第七周学习总结
    20172327 2018-2019-1 《程序设计与数据结构》第六周学习总结
  • 原文地址:https://www.cnblogs.com/Small-music/p/9324769.html
Copyright © 2020-2023  润新知