MySql变量说明

微信扫一扫,分享到朋友圈

MySql变量说明
1 #变量
2 /*
3 系统变量:
4     全局变量
5     会话变量
6
7 自定义变量:
8     用户变量
9     局部变量
10
11 */
12 #一、系统变量
13 /*
14 说明:变量由系统定义,不是用户定义,属于服务器层面
15 注意:全局变量需要添加global关键字,会话变量需要添加session关键字,如果不写,默认会话级别
16 使用步骤:
17 1、查看所有系统变量
18 show global|【session】variables;
19 2、查看满足条件的部分系统变量
20 show global|【session】 variables like '%char%';
21 3、查看指定的系统变量的值
22 select @@global|【session】系统变量名;
23 4、为某个系统变量赋值
24 方式一:
25 set global|【session】系统变量名=值;
26 方式二:
27 set @@global|【session】系统变量名=值;
28
29 */
30 #1》全局变量
31 /*
32 作用域:针对于所有会话(连接)有效,但不能跨重启
33 */
34 #①查看所有全局变量
35 SHOW GLOBAL VARIABLES;
36 #②查看满足条件的部分系统变量
37 SHOW GLOBAL VARIABLES LIKE '%char%';
38 #③查看指定的系统变量的值
39 SELECT @@global.autocommit;
40 #④为某个系统变量赋值
41 SET @@global.autocommit=0;
42 SET GLOBAL autocommit=0;
43
44 #2》会话变量
45 /*
46 作用域:针对于当前会话(连接)有效
47 */
48 #①查看所有会话变量
49 SHOW SESSION VARIABLES;
50 #②查看满足条件的部分会话变量
51 SHOW SESSION VARIABLES LIKE '%char%';
52 #③查看指定的会话变量的值
53 SELECT @@autocommit;
54 SELECT @@session.tx_isolation;
55 #④为某个会话变量赋值
56 SET @@session.tx_isolation='read-uncommitted';
57 SET SESSION tx_isolation='read-committed';
58
59 #二、自定义变量
60 /*
61 说明:变量由用户自定义,而不是系统提供的
62 使用步骤:
63 1、声明
64 2、赋值
65 3、使用(查看、比较、运算等)
66 */
67
68 #1》用户变量
69 /*
70 作用域:针对于当前会话(连接)有效,作用域同于会话变量
71 */
72
73 #赋值操作符:=或:=
74 #①声明并初始化
75 SET @变量名=值;
76 SET @变量名:=值;
77 SELECT @变量名:=值;
78
79 #②赋值(更新变量的值)
80 #方式一:
81     SET @变量名=值;
82     SET @变量名:=值;
83     SELECT @变量名:=值;
84 #方式二:
85     SELECT 字段 INTO @变量名
86     FROM 表;
87 #③使用(查看变量的值)
88 SELECT @变量名;
89
90
91 #2》局部变量
92 /*
93 作用域:仅仅在定义它的begin end块中有效
94 应用在 begin end中的第一句话
95 */
96
97 #①声明
98 DECLARE 变量名 类型;
99 DECLARE 变量名 类型 【DEFAULT 值】;
100
101
102 #②赋值(更新变量的值)
103
104 #方式一:
105     SET 局部变量名=值;
106     SET 局部变量名:=值;
107     SELECT 局部变量名:=值;
108 #方式二:
109     SELECT 字段 INTO 具备变量名
110     FROM 表;
111 #③使用(查看变量的值)
112 SELECT 局部变量名;
113
114
115 #案例:声明两个变量,求和并打印
116
117 #用户变量
118 SET @m=1;
119 SET @n=1;
120 SET @sum=@m+@n;
121 SELECT @sum;
122
123 #局部变量
124 DECLARE m INT DEFAULT 1;
125 DECLARE n INT DEFAULT 1;
126 DECLARE SUM INT;
127 SET SUM=m+n;
128 SELECT SUM;
129
130
131 #用户变量和局部变量的对比
132
133         作用域            定义位置        语法
134 用户变量    当前会话        会话的任何地方        加@符号,不用指定类型
135 局部变量    定义它的BEGIN END中     BEGIN END的第一句话    一般不用加@,需要指定类型
136

微信扫一扫,分享到朋友圈

MySql变量说明

Oldboy Day2 HW by 徐杰炀

上一篇

最前线 | 理想汽车更新招股书:IPO最高募资14.73亿美元,高瓴资本拟认购3亿美元

下一篇

你也可能喜欢

MySql变量说明

长按储存图像,分享给朋友