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变量说明的更多相关文章
- MySQL服务 - MySQL变量类型及变量设置
一.MySQL变量类型: MySQL通过变量来定义当前服务器的特性,保存状态信息等.我们可以通过手动更改变量的值来配置MySQL,也可以通过变量获得MySQL的当前状态信息.MySQL的变量类型可以从 ...
- mysql变量使用总结
set语句的学习: 使用select定义用户变量的实践将如下语句改成select的形式: set @VAR=(select sum(amount) from penalties);我的修改: sele ...
- 十大最值得注意的MySQL变量
MySQL数据库中的变量非常多,下文为您整理出了十大最值得注意的MySQL变量,希望对您学习MySQL数据库能够有一些帮助. AD: MySQL变量很多,其中有一些MySQL变量非常值得我们注意,下面 ...
- mysql变量使用总结(转)
set语句的学习: 使用select定义用户变量的实践将如下语句改成select的形式: set @VAR=(select sum(amount) from penalties);我的修改: sele ...
- MySQL变量的使用
在mysql文档中,mysql变量可分为两大类,即系统变量和用户变量. 但根据实际应用又被细化为四种类型,即局部变量.用户变量.会话变量和全局变量. 一.局部变量 mysql局部变量,只能用在begi ...
- MariaDB MySQL变量取值避免四舍五入的方法
MySQL变量取值避免四舍五入的方法 By:授客 QQ:1033553122 在一些对数据精确度要求比较高的场景(比如资金结算)下,变量取值时不能对变量值进行四舍五入操作,这时候就要做些预处理工作. ...
- [转]mysql变量使用总结
From : http://www.cnblogs.com/wangtao_20/archive/2011/02/21/1959734.html set语句的学习: 使用select定义用户变量的实践 ...
- [MySQL] 变量(参数)的查看和设置 [转]
[MySQL] 变量(参数)的查看和设置 类似于Oracle的参数文件,MySQL的选项文件(如my.cnf)用于配置MySQL服务器,但和Oracle叫法不一样,在MySQL里, 官方叫变量(Var ...
- Mysql 变量讲解
set语句的学习: 使用select定义用户变量的实践将如下语句改成select的形式: set @VAR=(select sum(amount) from penalties);我的修改: sele ...
- 黑马MySQL数据库学习day04 MySQL变量 存储过程 用户和授权管理
/* MySQL中的变量局部变量,用户变量,会话变量和全局变量. 用户变量不用定义,直接使用. 1.用户变量赋值 set @xxx = 值; 2.查询 select @xxx; 语法帮助: 过程保存在 ...
随机推荐
- Linux 统计Web服务日志命令
本人在Linux运维中收集的一些通用的统计,Apache/Nginx服务器日志的命令组合. Apache日志统计 # 列出当天访问次数最多的IP命令 [root@lyshark.cnblogs.com ...
- Flask 之SocketIO库实现绘图表
Flask 默认提供了针对WebSocket的支持插件from flask_socketio import SocketIO 直接通过pip命令安装即可导入使用,前端也需要引入socketIO库文件, ...
- 从此告别涂硅脂 利民推出新款CPU固态导热硅脂片:一片26.9元
利民(Thermalright)近日推出了新款Heilos CPU固态导热硅脂片,其中Intel版为26.9元,AMD版售价29.9元. 以往向CPU上涂硅脂,需要先挤一粒绿豆大小的硅脂,然后用塑料片 ...
- USACO 2022 Cu 题解
USACO 2022 Cu 题解 AK用时:$ 3 $ 小时 $ 30 $ 分钟. A - Cow College 原题 Farmer John 计划为奶牛们新开办一所大学! 有 $ N $($ 1 ...
- Matrix【未完成】
Matrix The fitrst thing we do,let's kill all the language lawyers. -- Henry VI, Part II The "pr ...
- 使用KVM克隆用于Oracle DB的主机
首先,通过现有的vm1「在上篇文章 使用KVM创建OEL虚拟机 已创建」克隆出一个vm,名字叫做db1,然后修改一些配置,使其更适用于Oracle DB的主机. 1.通过克隆vm1生成db1 2.解决 ...
- ASP.NET Core分布式项目实战(oauth2 + oidc 实现 server部分)--学习笔记
任务15:oauth2 + oidc 实现 server部分 基于之前快速入门的项目(MvcCookieAuthSample): https://www.cnblogs.com/MingsonZhen ...
- ASP.NET Core分布式项目实战(详解oauth2授权码流程)--学习笔记
最近公司产品上线,通宵加班了一个月,一直没有更新,今天开始恢复,每日一更,冲冲冲 任务13:详解oauth2授权码流程 我们即将开发的产品有一个用户 API,一个项目服务 API,每个服务都需要认证授 ...
- Spring Boot 单元测试笔记
1. 导入JUnit5测试框架 <dependency> <groupId>org.springframework.boot</groupId> <artif ...
- NC19782 Tree
题目链接 题目 题目描述 修修去年种下了一棵树,现在它已经有n个结点了. 修修非常擅长数数,他很快就数出了包含每个点的连通点集的数量. 澜澜也想知道答案,但他不会数数,于是他把问题交给了你. 输入描述 ...