Home > Database > Mysql Tutorial > mysql:用户变量、系统变量、局部变量(存储过程中的)

mysql:用户变量、系统变量、局部变量(存储过程中的)

WBOY
Release: 2016-06-07 15:33:46
Original
2342 people have browsed it

MySQL数据库中的变量分为MySQL系统变量和MySQL用户变量。 一、MySQL用户变量:基于会话变量实现的, 可以暂存, 并传递给同一连接里的下一条sql使用的变量.当客户端连接退出时,变量会被释放。 1、用户变量定义: 用户变量:以@开始,形式为@变量名 注 :用户变

MySQL数据库中的变量分为MySQL系统变量和MySQL用户变量。

一、MySQL用户变量:基于会话变量实现的, 可以暂存值, 并传递给同一连接里的下一条sql使用的变量.当客户端连接退出时,变量会被释放。

1、用户变量定义:

用户变量:以"@"开始,形式为"@变量名"
:用户变量跟mysql客户端是绑定的,设置的变量,只对当前用户使用的客户端生效。也叫回话变量。


2、赋值:(可以使用set或select)

set  @test=1;

或者

select  @test,@tt:=2;

查看变量的值:

select  @tt;

:如果使用没有初始化的变量,其值是NULL

       使用set赋值时,使用的是“=”,使用select赋值时使用的是“:="。


二、系统变量:

MySQL可以访问许多系统变量。当服务器运行时许多变量可以动态更改。这样通常允许你修改服务器操作而不需要停止并重启服务器。当服务器启动时,它将所有全局变量初始化为默认值。这些默认值可以在选项文件中或在命令行中指定的选项进行更改。服务器启动后,通过连接服务器并执行SET GLOBAL var_name语句,可以动态更改这些全局变量。要想更改全局变量,必须具有SUPER权限。


1、变量使用:

可以通过@@或global来操作系统变量,如下:

mysql> <strong>SET GLOBAL sort_buffer_size=<em>value</em>;</strong>
Copy after login
mysql> <strong>SET @@global.sort_buffer_size=<em>value</em>;</strong>
Copy after login


三、局部变量:

作用范围在begin到end语句块之间。在该语句块里设置的变量成为局部变量。

1、定义:
declare语句专门用于定义局部变量。

begin

 declare test int;

2、赋值:

set语句进行赋值

set i=500;



source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template