MySQL基础—变量

变量介绍:

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

  全局变量:作用域:服务器每次启动将为多有的全局变量赋初始值,针对于所有的会话(连接)有效,但不能跨重启,

  会话变量:作用域:仅仅针对于当前的会话(连接)有效。

自定义变量:变量是用户自定义的,不是由系统提供的

  用户变量:作用域:针对于当前会话(连接)有效,同于会话变量的作用域,应用在任何地方,也就是可以放在begin end 里面或者begin end外面。

  局部变量:作用域:仅仅在定义它的begin end中有效。应用在begin end 中的第一句话。

一、系统变量。

语法:

1、查看所有的系统变量:

show global/session variable;

2、查看满足条件的部分变量:

show global/session variable like '%char%';

3、查看指定某个系统变量的值

select @@global/session.系统变量名;

4、为某个系统变量赋值

方式一:

set global/session系统变量名 = 值

方式二:

set @@global/session.系统变量名 = 值

注意:

如果是全局级别,则需要加global,如果是会话级别,则需要加session,如果不写,则默认是session。

 二、自定义变量

使用步骤:

声明

赋值

使用(查看、比较、运算)

①声明并初始化

set @用户变量名 = 值;

set @用户变量名:=值;

select @用户变量名:=值;select :不可省略

②赋值(更新用户变量的值)

方式一:通过set或select

set @用户变量名 = 值;

set @用户变量名:=值;

select @用户变量名:=值;select :不可省略

方式二:通过select into

select 字段 into 变量名 

from 表;

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

select @用户变量名;

三、局部变量

①声明

declare 变量名 类型;

declare 变量名 类型 default 值;

②赋值

方式一:通过set或select

set 局部变量名 = 值;

set 局部变量名:=值;

select @局部变量名:=值;select :不可省略

方式二:通过select into

select 字段 into 局部变量名 

from 表;

③使用

select 局部变量名

对比用户变量和局部变量

           作用域                定义和使用位置                        语法

用户变量   当前会话             会话中的任何位置                       声明的语法不通,必须加上@符号,不用限定类型

局部变量   begin  end中         只能在begin end 中,且为第一句话        一般不加@符号,需要限定类型

 

posted @ 2020-11-30 20:56  puffffff  阅读(105)  评论(0)    收藏  举报