mysql的变量篇

知识结构概览
在这里插入图片描述

变量:
	1.系统变量
				全局变量
				会话变量
	2.自定义变量
				用户变量
				局部变量

一、系统变量

在这里插入图片描述
说明:变量由系统提供,不是用户定义,属于服务器层面

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

使用的语法:
1.全局变量

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

	1.查看所有的系统变量
	SHOW GLOBAL|SESSION】 VARIABLES;
	
	2.查看满足条件的部分系统变量
	SHOW GLOBAL|SESSION】 VARIABLES LIKE '%关键字%'
	
	3.查看指定的某个系统变量的值
	SELECT @@GLOBAL|SESSION.系统变量名;
	
	4.为某个系统变量赋值
	方式一:
	SET GLOBAL|SESSION】系统变量名 =;
	方式二:
	SET @@GLOBAL|SESSION.系统变量名=;

2.会话变量

2>.会话变量
	作用域:
	仅仅针对当前的会话(连接)有效
	关键字SESSION 可省略
	①查看所有的会话变量
	showSESSION】 VARIABLES;
	
	②查看部分的会话变量
	showSESSION】VARIABLES like '%char%'
	
	③查看指定的会话变量
	方式一:select @@tx_isolation
	方式二:select @@SESSION.tx_isolation
	
	④为某个会话变量赋值
	方式一:(举例设置隔离级别)
	SET @@SESSION.tx_isolation='read-UNCOMMITTED'
	方式二:
	SET SESSION tx_isolation='read-UNCOMMITTED'

二、自定义变量

在这里插入图片描述

说明:
	  变量是用户自定义的,不是由系统定义的 
使用步骤: 	
 	 声明 	
	 赋值 	
	 使用(查看、比较、运算等)

1.用户变量

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

赋值的操作符:= 或 :=

	使用步骤:
	①	声明并初始化
			SET  @用户变量名=;SET  @用户变量名:=值;
	或	SELECT @用户变量的值:=;
	
	②赋值(更新用户变量的值)
		方式一:通过setselect
			SET  @用户变量名=;SET  @用户变量名:=值;
	或	SELECT @用户变量的值:=;
		方式二:	通过select into
	(从表中查询出来的一个值【不能是一组值】,赋值给变量)
		SELECT 字段 INTO @变量名
		FROM;

	③使用(查看用户变量的值)
	select @变量名
	
#案例:

#声明并初始化
SET	@name='joho';
SET @count=1;

#赋值:
select count(*) INTO @count 
FROM employees;

#查看
SELECT @count

2.局部变量

作用域:仅仅在定义它的begin end 中有效
应用在begin end 里面的第一句话!!!!
#①声明
DECLARE  变量名	类型;
DECLARE  变量名 类型 DEFAULT;
#②赋值(更新用户变量的值)
		方式一:通过setselect
			SET 局部变量名=;SET  局部变量名:=值;
	或	SELECT @用户变量的值:=;
		
		方式二:	通过select into
	(从表中查询出来的一个值【不能是一组值】,赋值给变量)
		SELECT 字段 INTO 局部变量名
		FROM;
		
#③使用
select 局部变量名

3.对比用户变量和局部变量
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值