二十七、SQL中的变量(SQL编程基础)

变量分类: 和大部分编程语言一样,SQL中的变量总的分为系统变量自定义变量

系统变量

定义: 系统定义好的变量,大部分时候用户根本不需要使用系统变量,系统变量是用来控制服务器的表现的,如:autocommit、auto_increment等;
查看系统变量的方法: show variables [like 'patterns'];//经查看总的系统变量有三百多个。其中,like部分和show tables语句中的like部分相同。

//基本语法:
show variables [like 'patterns'];//经查看总的系统变量有三百多个。其中,like部分和show tables语句中的like部分相同

查看具体的变量值: 任何一个由数据返回的内容都是由select查看

//基本语法
select @@变量名;

修改系统变量: 修改系统变量分为两种方式,会话级别和全局级别
1、会话级别:临时修改,当前客户端当次有效

   //基本语法
   set 变量名=; //修改的结果局部有效
   set  @@变量名=; //修改的结果全局有效

2、全局级别:一次修改,永久有效

//基本语法
set global 变量名=变量值;
自定义变量

定义自定义变量: 系统为了区分系统变量,规定了用户自定义变量必须使用一个@符号,如定义”name”变量:set @name;
定义自定义变量的基本语法: set @变量名 := 值;
注意! 在mysql中,=会默认的当做比较符号处理(在很多地方),mysql为了区分比较和赋值的概念,重新定义了一个新的赋值符号:=
符: mysql允许从数据表中获取数据,然后赋值给变量

//方案:边赋值、边查看结果
select @变量名 := 字段名 from 数据源; 从字段中取出值赋给变量名,绝对不能写成”=”号
 select 字段列表 from 数据源 where 条件 into @变量名1,....,变量名n;//只能赋值一条记录
 //注意:上面所有自定义的变量都是会话级别(用户变量),当次连接有效;

用户变量: 每个用户都可以在mysql中创建属于自己的私有变量,但是其只是用来临时存放数据的,一旦用户下线后,变量即被收回。并且此变量只能被定义者使用,其他用户不能使用和查看该变量。其用途有保存查询结果、作为存储过程接收返回值得对象。
局部变量: 定义方法declare 变量名 数据类型

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值