• 21、变量


    一、变量
    系统变量:
    全局变量:
    作用域:服务器每次启动将为所有的全局变量赋初始值,针对于所有的会话和连接有效,但不能跨重启,如果更改了系统变量全局变量,重启后所有的变量仍然会重新赋初始值
    会话变量:
    作用域:仅针对于当前会话连接有效
    自定义变量:
    用户变量
    局部变量
     
    二、系统变量
    变量由系统提供,不是用户定义,属于服务器层面
    -- 1、查看会话全部系统变量
    show session variables;
    -- 2、查看全局的全部系统变量
    show global variables;
    -- 3、查看满足条件的部分系统变量(【session】表示该部分可以省略不写)
    show global| 【session】 variables like '%char%';
    -- 4、为某个系统变量赋值
    方式一:
    set global | 【session】 系统变量名=值;
    方式二:
    set @@global |@@session】.系统变量名=值;
    set @@系统变量名=值;
    -- 5、查看指定系统变量
    select @@global |@@session】.系统变量名;
    注:
    如果是全局级别,则需要加global,如果是会话级别,则需要加session,如果不写,则默认session
     
    三、自定义变量
    变量是用户自定义的,不是由系统已经初始化生成的
    使用步骤:
    声明
    赋值
    使用(查看、比较、运算等)
    1、用户变量
    作用域:针对于当前会话(连接)有效,同于会话变量的作用域
    可以应用在任何地方,也就是begin end里面或begin end外面
    赋值操作符:=或:=(select 初始化必须使用:=)
    声明并初始化:
    set @用户变量名=值; 或
    set @用户变量名:=值; 或
    select @用户变量名:=值;
    赋值(更新用户变量的值)
    方式一:通过set或select
    set @用户变量名=值; 或
    set @用户变量名:=值; 或
    select @用户变量名:=值;
    方式二:通过select into
    select 字段 into @用户变量名 from 表;(将字段值赋值给变量)
    使用(查看用户变量的值)
    select @用户变量名;
    2、局部变量
    作用域:仅仅在定义他的begin end中有效
    应用在begin end的第一句话!!!!
    声明:
    declare 变量名 类型;
    declare 变量名 类型 default 值;
    赋值:
    方式一:通过set或select
    set 局部变量名=值; 或
    set 局部变量名:=值; 或
    select @局部变量名:=值;
    方式二:通过select into
    select 字段 into 局部变量名 from 表;(将字段值赋值给变量)
    使用:
    select 局部变量名;
    -- 声明两个变量并赋初始值,求和,并打印
    -- 1、用户变量
    set @a='1';
    set @b='2';
    set @sum=@a+@b;
    select @sum;
    -- 2、局部变量
    declare a int default 1;
    declare b int default 2;
    declare sum int;
    set sum=a+b;
    select sum;
     
  • 相关阅读:
    BZOJ-1625 宝石手镯 01背包(傻逼题)
    BZOJ-2929 洞穴攀岩 最大流Dinic(傻逼题)
    BZOJ3252: 攻略 可并堆
    二逼平衡树 Tyvj 1730 BZOJ3196 Loj#106
    [Noi2016]区间 BZOJ4653 洛谷P1712 Loj#2086
    [NOIP2014]飞扬的小鸟 D1 T3 loj2500 洛谷P1941
    BZOJ4554: [Tjoi2016&Heoi2016]游戏 luoguP2825 loj2057
    BZOJ 2599: [IOI2011]Race 点分治
    POJ1038 Bugs Integrated, Inc 状压DP+优化
    JLOI2015 城池攻占
  • 原文地址:https://www.cnblogs.com/luohuasheng/p/16488692.html
Copyright © 2020-2023  润新知