变量

变量的分类

变量分为系统变量和自定义变量

系统变量

系统变量大部分时候用户不需要使用,系统变量是用来控制服务器的表现,如auto_increment_increment ,auto_commit 等,

示例

查看系统变量

show variables;--查看系统变量

select @@ 系统变量名 -- 查看单个系统变量

select @@ verion

修改系统变量
修改系统变量分为两种:会话级别,全局级别

  • 会话级别:只对当前客户端的当前会话生效
set 系统变量名 = 值;
set @@系统变量名 = 值;
set autocommit = 0;
  • 全局级别:对所有客户端永久生效
set global 变量名 = 值;

自定义变量

系统变量为了区分自定义变量,规定用户自定义变量必须使用一个@符号
新增语法:

set @自定义变量名=值;
set @name = 'jason'

查看语法:

select @变量名
select @name;

在mysql中,'=' 一般是比较符号,':=' 是赋值符号,一般赋值用':='

mysql 中允许通过select语句查询的结果给变量赋值

分为两种:

方案一:边赋值,边查看结果:

select @变量名 := 字段 from 数据源; -- 从字段列表中取出值赋值依次给变量,所以变量的值是列表中的最后一个值。

SELECT @name := name from `c_student`
屏幕快照 2017-08-16 上午11.14.19.png
SELECT @name
屏幕快照 2017-08-16 上午11.16.45.png

方案二:只有赋值,不看结果 ,但只能过去一条

select 字段列表 from 数据源 into 变量列表

select name,age from c_student where id = 2 into @name,@age;

所有自定义变量都是会话级别

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容