您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Mysql学习笔记(019)-变量

bubuko 2022/1/25 20:07:29 mysql 字数 19671 阅读 985 来源 http://www.bubuko.com/infolist-5-1.html

变量 1 #变量 2 /* 3 系统变量: 4 全局变量 5 会话变量 6 7 自定义变量: 8 用户变量 9 局部变量 10 11 */ 12 13 #一、系统变量 14 /* 15 说明:变量由系统提供,不是用户定义,属于服务器层面 16 注意: 17 如果是全局级别,则需要加global,如果 ...

变量

  1 #变量
  2 /*
  3 系统变量:
  4     全局变量
  5     会话变量
  6     
  7 自定义变量:
  8     用户变量
  9     局部变量
 10     
 11 */
 12 
 13 #一、系统变量
 14 /*
 15 说明:变量由系统提供,不是用户定义,属于服务器层面
 16 注意:
 17 如果是全局级别,则需要加global,如果是会话级别,则需要加session,如果不是,则默认session
 18 使用的语法:
 19 1.查看所有的系统变量
 20 show global|【session】 variables;
 21 
 22 2.查看满足条件的部分系统变量
 23 show global|【session】variables like ‘%char%‘;
 24 
 25 3.查看指定的某个系统变量的值
 26 select @@global|【session】.系统变量;
 27 
 28 4.为某个系统变量赋值
 29 方式一:
 30 set global |【session】 系统变量 = 值;
 31 方式二:
 32 set @@global|【session】.系统变量名 = 值;
 33 
 34 
 35 */
 36 
 37 #1》全局变量
 38 /*
 39 作用域:服务器每次启动将为所有的全局变量附初始值,针对所有的会话(连接)有效,但不能跨重启
 40 
 41 
 42 */
 43 
 44 #①查看所有的全局变量
 45 SHOW GLOBAL VARIABLES;
 46 
 47 #②查看的部分的全局变量
 48 SHOW GLOBAL VARIABLES LIKE %char%;
 49 
 50 #③查看指定的全局变量的值
 51 SELECT @@global.autocommit;
 52 SELECT @@tx_isolation;
 53 
 54 #④为某个指定的全局变量赋值
 55 SET @@global.autocommit=0;#跨连接有效
 56 
 57 
 58 #2》会话变量
 59 /*
 60 作用域:仅仅针对当前的会话(连接)有效
 61 
 62 */
 63 #①查看所有的会话变量
 64 SHOW VARIABLES;
 65 SHOW SESSION VARIABLES;
 66 
 67 #②查看部分的会话变量
 68 SHOW VARIABLES LIKE %char%;
 69 SHOW SESSION VARIABLES LIKE %char%;
 70 
 71 #③查看指定的某个会话变量
 72 SELECT @@tx_isolation;
 73 SELECT @@session.tx_isolation
 74 
 75 #④为某个会话变量赋值
 76 方式一
 77 SET @@session.tx_isolation=read-uncommit;
 78 
 79 方式二
 80 SET SESSION tx_isolation = read-committed;
 81 
 82 #二、自定义变量
 83 /*
 84 说明:变量是用户自定义的,不是由系统的
 85 使用步骤:
 86 声明
 87 赋值
 88 使用(查看、对比、运算等)
 89 
 90 
 91 */
 92 #1、用户变量
 93 /*
 94 作用域:针对当前会话(连接)有效,同于会话变量的作用域
 95 应用在任何地方,也就是begin end里面或者外面
 96 */
 97 
 98 赋值的操作符= 或:=
 99 #①声明并初始化
100 SET @用户变量名=值;或
101 SET @用户变量名:=值;或
102 SELECT @用户变量:=值;
103 
104 #②赋值(更新用户变量的值)
105 方式一:通过set或select
106     SET @用户变量名=值;或
107     SET @用户变量名:=值;或
108     SELECT @用户变量:=值;
109 方式二:通过select INTO
110 
111     SELECT 字段 INTO @变量名#值是一个
112     FROM 表;
113     
114 #③使用(查看用户变量的值)
115 SELECT @用户变量名;
116     
117 #案例:
118 #声明并初始化
119 SET @name=john;
120 SET @name=100;
121 SET @count=1122 #赋值
123 selet COUNT(*) INTO @count
124 FROM employees;
125 #查看
126 SELECT @count;
127 
128 #2、局部变量
129 /*
130 作用域:仅仅在定义在它的的begin end中有效
131 应用在begin end中的第一句话!!!
132 */
133 #①声明
134 DECLARE 变量名 类型;
135 DECLARE 变量名 类型 DEFAULT 值;
136 
137 #②赋值
138 方式一:通过set或select
139     SET 局部变量名=值;或
140     SET 局部变量名:=值;或
141     SELECT @局部变量:=值;
142 方式二:通过select INTO
143 
144     SELECT 字段 INTO @局部变量名#值是一个
145     FROM 表;
146     
147 #③使用
148 SELECT 局部变量名;
149 
150 对比用户变量和局部变量
151         作用域        定义和使用的位置    语法
152 用户变量    当前会话    会话中的任何地方    必须加@符号,不用限定类型
153 局部变量    BEGIN end中    只能在begin end中,且为第一句话 一般不用加@符号,需要限定类型
154 
155 #案例:声明两个变量并赋初始值,求和,并答应
156 
157 #1.用户变量
158 SET @m=1;
159 SET @n=2;
160 SET @sum = @m+@n;
161 SELECT @sum;
162 
163 #2.局部变量#begin end中否则报错
164 DECLARE m INT DEFAULT 1;
165 DECLARE n INT DEFAULT 2;
166 DECLARE SUM INT;
167 SET SUM=m+n;l
168 SELECT SUM;

 

案例讲解

小结

Mysql学习笔记(019)-变量

原文:https://www.cnblogs.com/landerhu/p/12435783.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶