2020年8月29日星期六

MySql的回顾十二:变量

  这是个光荣而又艰巨的任务!

  光荣在于平淡,艰巨在于漫长!

  又是一个周末,又可以带领各位小伙伴们继续学习探索MySql的知识了,今天一起来学习变量,有人可能就会问变量!!!,MySql还有变量?emmmm其实学之前我也是这么认为的,事实却是....真的有!所有还是要学,来来来慢慢往下看,最好看的时候拉起你的客户端工具,也试试,的确是有的,不骗你的。

系统变量:全局变量:整个服务器会话变量:客户端的一次连接自定义变量:用户变量局部变量#一.系统变量说明:变量由系统提供,不是用户定义,属于服务器层面。注意:如果是全局级别,则需要加GLOBAL,如果是会话级别,需要加SESSION,什么都不写默认是SESSION使用的语法:#系统的变量不用定义直接使用。SHOW GLOBAL|【SESSION】 VARIABLES;1.查看所有的系统变量SHOW GLOBAL VARIABLES;查看会话的SHOW SESSION VARIABLES;2.查看满足条件的部分系统变量SHOW GLOBAL|【SESSION】 VARIABLES LIKE '%char%';3.查看指定的某个系统变量的值SELECT @@GLOBAL.系统变量名;SELECT @@SESSION.系统变量名;4.为某个系统变量赋值方式一:SET GLOBAL 系统变量名 = 值;SET SESSION 系统变量名 = 值;方式二:SET @@GLOBAL.系统变量=值;SET @@SESSION.系统变量=值;#1.全局变量#①查看所有的全局变量SHOW GLOBAL VARIABLES;

#②查看部分的全局变量SHOW GLOBAL VARIABLES LIKE '%char%';

#③查看指定的全局变量的值SELECT @@global.autocommit;

#查看隔离级别SELECT @@tx_isolation;

#查看某个指定的全局变量赋值(注意中间的那个点)#先修改#再次查看SET @@GLOBAL.autocommit=0;SELECT @@GLOBAL.autocommit;

重新开启一个会话,再次查询

#会话变量作用域:仅仅针对于当前会话(连接)有效#查看所有的会话变量SHOW SESSION VARIABLES;SHOW VARIABLES;

#查看部分的会话变量SHOW VARIABLES LIKE '%char%';SHOW SESSION VARIABLES LIKE '%char%'; 

#③查看指定的某个会话变量SELECT @@tx_isolation;SELECT @@SESSION.tx_isolation;

#为某个会话变量赋值方式一:SET @@SESSION.tx_isolation='read-uncommitted';#查看当前的隔离级额别的会话变量SELECT @@SESSION.tx_isolation;

方式二:SET SESSION tx_isolation='read-committed';#查看当前的隔离级额别的会话变量SELECT @@SESSION.tx_isolation;

#二.自定义变量说明:变量是用户自定义的。使用步骤:声明赋值使用(查看,比较,运算等)#1.用户变量作用域:针对当前会话(连接)有效,同于会话变量的作用域。应用在任何地方,也就是begin end里面或者begin end外面。#声明并初始化方式一:SET @用户变量名=值;方式二:SET @用户变量名:=值;方式三:SELECT @用户名:=值;#②赋值(更新用户变量的值)方式一:通过SET或SELECTSET @用户变量名=值;SET @用户变量名:=值;SELECT @用户名:=值;#例:赋值.弱类型语言,第一次赋值字符串varchar,第二次复制INTSET @NAME='john';SET @NAME=100;方式二:通过SELECT INTOSELECT 字段 INTO @变量名FROM 表;#例:变量赋值SET @COUNT=1;SELECT COUNT(*) INTO @COUNTFROM employees;#使用(查看某个用户变量的值)SELECT @用户变量名;#例:查看变量SELECT @COUNT;

#2.局部变量作用域:仅仅在定义它的begin end中有效。应用在begin end中的第一句话!!!#①声明DECLARE 变量名 类型;DECLARE 变量名 类型 DEFAULT 值;#②赋值方式一:通过SET或者SELECTSET 局部变量名=值;SET 局部变量名:=值;SELECT @局部变量名:=值;方式二:通过SELECT INTOSELECT 字段 INTO 局部变量名FROM 表;#③使用SELECT 局部变量名;

对比用户变量和局部变量

#案例:声明两个变量并复制,求和,并打印#用户变量SET @m=1;SET @n=2;SET @SUM=@m+@n;SELECT @SUM;

变量到此结束,看到这里的读者们现在应该相信了MySql里面的确是有变量的,那屏幕前的你一定就会好奇,搞了这些东西,那在哪用呢?

要不你猜猜?

其是在存储过程里面用的,MySql基础回顾系列的最终回《存储过程与流程控制》将在下篇文章带领读者彻底介绍完成。

MySql的回顾十二:变量亚马逊账号解封秘诀淘粉决战旺季 VE来袭致跨境电商新卖家 - 个人卖家做跨境电商,启动资金需要多少?案例分析:跨境电商卖家如何转型独立站?8月28日起,Wish认可的部分物流服务商将被移除(附名单)!做Dropshipping,这些平台可以代替速卖通!美国第二大购物季即将达到峰值,这些销售策略准备好!