欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-13 17:16:42
...

变量分类: 和大部分编程语言一样,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;//只能赋值一条记录
 //注意:上面所有自定义的变量都是会话级别,当次连接有效;