( 16 )MySQL中的变量

变量

系统变量 和 自定义变量

系统变量

系统变量:系统定义好的变量,大部分系统变量,一般不需要用户控制,系统变量用来控制服务器的表现 如:autocommit , auto_increment 等.

查看系统变量

show variables;

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

查看系统变量的基本语法: select @@ 变量名;

eg: select @@version,@@autocommit, @@auto_increment_offset,@@character_set_results;

修改系统变量

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

set @@变量名 = 值;

set 变量名 = 值;

会话级别 : 临时修改,当前客户端有效,当次连接有效.

 

全局级别 : 一次修改,永久生效(对所有客户端都生效)

set global变量名 = 值;

 

别的客户端,需要重启客户端生效.

 

自定义变量

系统为了区分系统变量,规定自定义变量必须使用一个@符号.

set @变量名 = 值 ;

select 变量名;

 

在MySql中, "=" 会默认为比较符号处理,mysql为了区分比较和赋值的概念重新定义了一个新的赋值符号---- :=

 

MySql 中允许从数据表中获取数据然后赋值给变量:两种方式

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

select @变量名 := 字段名 form 数据源 ; -- 从数据库表中取字段赋给变量.

方案2 : 只有赋值不查看结果,要求很严格: 最多只能获得一条数据记录,mysql不支持数据.

select 字段列表 from 表名 into 变量列表 ;

所用自定义的变量都是会话级别.变量不区分数据库,属于用户级别.

 

posted @ 2017-10-30 17:07  -老衲-  阅读(184)  评论(0编辑  收藏  举报