MySQL笔记 变量

MySQL笔记 变量

*分类:

系统变量:全局变量,会话变量

自定义变量:用户变量,局部变量

一.系统变量

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

使用的语法:

1.查看所有的系统变量

show global|【session】variables;

2.查看满足条件的部分系统变量

show global |【session】variables like "%char%";

3.查看指定的某个变量的值

select @@global|【session】.系统变量名;

4.为某个系统变量赋值

方式一:

set global|【session】系统变量名=值:

方式二:

set @@global|【session】.系统变量名=值;

注意:

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

作用域:

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

会话变量:仅仅针对于当前会话(连接)有效

二.自定义变量

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

使用步骤:

声明

赋值

使用(查看,比较,运算等)

1.用户变量

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

1.声明并初始化

set @用户变量名=值;或

set @用户变量名:=值;或

select @用户变量名:=值;

2.赋值(更新用户变量的值):

方式一:通过set或select

set @用户变量名=值;或

set @用户变量名:=值;或

select @用户变量名:=值;

方式二:通过select into

select 字段 into 变量名

from 表;

3.使用:

例子:查看用户变量的值:

select @用户变量名;

案例:

#声明并初始化
set @name='john';
set @name=100;
set #count=1;
#赋值
select count(*) into @count
from employees;
#查看
select @count;

2.局部变量

作用域:仅仅在定义它的begin end中有效,应用在begin end中的第一句话

1.声明:

declare 变量名 类型;

declare 变量名 类型 default 值;

2.赋值:

方式一:通过set或select

set 局部变量名=值;或

set 局部变量名:=值;或

select @局部变量名:=值;

方式二:通过select into

select 字段 into 局部变量名

from 表;

3.使用:

例子:查看局部变量的值:

select 局部变量名;

3.用户变量和局部变量对比

用户变量:

作用域:当前会话

定义和使用的位置:任何地方

语法:必须加@符号,不用限定类型

局部变量:

作用域:begin end中

定义和使用的位置:只能在begin end 中,且为第一句话

语法:一般不用加@符号,需要限定类型

案例:声明两个变量并赋初始值,求和,并打印

#1.用户变量
set @m=1;
set @n=2;
set @sum=@m+@n;
select @sum;
#2.局部变量
declare m int default 1;
declare n int default 2;
declare sum int;
set sum=m+n;
select sum;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值