( 16 )MySQL中的变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了( 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 变量列表 ;

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

 

以上是关于( 16 )MySQL中的变量的主要内容,如果未能解决你的问题,请参考以下文章

使用两个变量更新Flask中的MySQL数据库[重复]

MySql 的异常:变量 'character_set_client' 不能设置为 'utf16' 的值

MySQL数据库 *实验16 变量表达式和函数

MySQL数据库 *实验16 变量表达式和函数

MySQL添加存储在用户定义变量中的两个二进制值

c++ mysql查询字符串解析带引号和变量