posts - 139,comments - 4,views - 61105
一、变量
系统变量:
全局变量:
作用域:服务器每次启动将为所有的全局变量赋初始值,针对于所有的会话和连接有效,但不能跨重启,如果更改了系统变量全局变量,重启后所有的变量仍然会重新赋初始值
会话变量:
作用域:仅针对于当前会话连接有效
自定义变量:
用户变量
局部变量
 
二、系统变量
变量由系统提供,不是用户定义,属于服务器层面
复制代码
-- 1、查看会话全部系统变量
show session variables;
-- 2、查看全局的全部系统变量
show global variables;
-- 3、查看满足条件的部分系统变量(【session】表示该部分可以省略不写)
show global| 【session】 variables like '%char%';
-- 4、为某个系统变量赋值
方式一:
set global | 【session】 系统变量名=值;
方式二:
set @@global |@@session】.系统变量名=值;
set @@系统变量名=值;
-- 5、查看指定系统变量
select @@global |@@session】.系统变量名;
复制代码

 

注:
如果是全局级别,则需要加global,如果是会话级别,则需要加session,如果不写,则默认session
 
三、自定义变量
变量是用户自定义的,不是由系统已经初始化生成的
使用步骤:
声明
赋值
使用(查看、比较、运算等)
1、用户变量
作用域:针对于当前会话(连接)有效,同于会话变量的作用域
可以应用在任何地方,也就是begin end里面或begin end外面
赋值操作符:=或:=(select 初始化必须使用:=)
声明并初始化:
set @用户变量名=值; 或
set @用户变量名:=值; 或
select @用户变量名:=值;
赋值(更新用户变量的值)
方式一:通过set或select
set @用户变量名=值; 或
set @用户变量名:=值; 或
select @用户变量名:=值;
方式二:通过select into
select 字段 into @用户变量名 from 表;(将字段值赋值给变量)
使用(查看用户变量的值)
select @用户变量名;
2、局部变量
作用域:仅仅在定义他的begin end中有效
应用在begin end的第一句话!!!!
声明:
declare 变量名 类型;
declare 变量名 类型 default 值;
赋值:
方式一:通过set或select
set 局部变量名=值; 或
set 局部变量名:=值; 或
select @局部变量名:=值;
方式二:通过select into
select 字段 into 局部变量名 from 表;(将字段值赋值给变量)
使用:
select 局部变量名;
复制代码
-- 声明两个变量并赋初始值,求和,并打印
-- 1、用户变量
set @a='1';
set @b='2';
set @sum=@a+@b;
select @sum;
-- 2、局部变量
declare a int default 1;
declare b int default 2;
declare sum int;
set sum=a+b;
select sum;
复制代码

 

 
posted on   时光以北暮南城  阅读(40)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示