1.变量
变量:
1.系统变量
1.1全局变量:
作用域:服务器每次启动将会为所有的全局变量赋初始值,针对所有的会话(连接)有效,但不能跨重启(即数据库重启后,又会恢复到默认值)
1.2会话变量
作用域:仅仅针对于当前会话(连接)有效
2.自定义变量:作用域:针对于当前会话(连接)有效。同于会话变量的作用域
2.1用户变量
2.2局部变量
1.系统变量:由系统提供,不是用户定义,属于服务器层面
使用语法:
1.查看所有的系统变量
1.查看所有的全局变量
show global variables;
2.查看会话变量:session可以省略,
show session variables;
2.查看满足条件的部分系统变量
show global variables like '%char%'
3.查看指定的某个系统变量的值
select @@global.系统变量名
select @@session.系统变量名
4.为某个系统变量赋值:【】的意思是可写可不写
set global|【session】系统变量名=值;
方式2:
set @@global|【session】.系统变量名=值;
注意点:
如果是全局界别,则需要加global,如果是会话级别,则需要加session,如果不写,则默认是session
2.用户的自定义变量:
作用域:当前会话,可以定义在会话的任何地方
使用:(查看,比较,运算等)
声明并初始化
1.set @用户变量名=值;
2.set @用户变量名:=值;
3.select @用户变量名:=值;
赋值(更新用户变量的值)
1.set @用户变量名=值;
2.set @用户变量名:=值;
3.select @用户变量名:=值;
4.select 字段 into 变量名 from 表;
3.局部变量
作用域:仅仅在定义它的begin end 中有效
应用在begin end中的第一句话
1.声明:
declare 变量名 类型;
declare 变量名 类型 default 值;
2.赋值:
1.set 局部变量名=值;
2.set 局部变量名:=值;
3.select @局部变量名:=值;
4.select 字段 into 局部变量名 from 表;
3.使用
select 局部变量名;
案例:声明两个变量并附初始值,求和,并打印
1.用户变量:
set @m=1;
set @n=2;
set @sum = @m+@n;
select @sum;
2.局部变量
BEGIN
DECLARE m INT DEFAULT 1;
DECLARE n INT DEFAULT 2;
DECLARE sum int;
SET sum=m+n;
END
select sum;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现