如何在MySQL中声明变量?

如何在MySQL中声明变量?

如何在MySQL中声明一个变量,以便我的第二个查询可以使用它?

我想写这样的东西:

SET start = 1;SET finish = 10;SELECT * FROM places WHERE place BETWEEN start AND finish;


MMTTMM
浏览 2694回答 3
3回答

守候你守候我

MySQL中主要有三种类型的变量:用户定义变量(以@):您可以访问任何用户定义的变量,而无需声明或初始化它。如果引用未初始化的变量,则该变量的值为NULL和一种字符串。SELECT @var_any_var_name可以使用SET或SELECT声明:SET @start = 1, @finish = 10;或SELECT @start := 1, @finish := 10;SELECT * FROM places WHERE place BETWEEN @start AND @finish;用户变量可以从有限的数据类型集中分配一个值:整数、十进制、浮点、二进制或非二进制字符串或空值。用户定义的变量是会话特定的。也就是说,一个客户端定义的用户变量不能被其他客户端看到或使用。它们可以用于SELECT查询使用先进的MySQL用户变量技术.局部变量(无前缀):需要使用DECLARE在访问它之前。它们可以用作局部变量和存储过程中的输入参数:DELIMITER //CREATE PROCEDURE sp_test(var1 INT) BEGIN        DECLARE start  INT unsigned DEFAULT 1;       DECLARE finish INT unsigned DEFAULT 10;     SELECT  var1, start, finish;     SELECT * FROM places WHERE place BETWEEN start AND finish; END; //DELIMITER ;CALL sp_test(5);如果DEFAULT子句,则初始值为NULL.局部变量的作用域是BEGIN ... END在其中声明它的块。服务器系统变量(以@@):MySQL服务器维护了许多系统变量配置为默认值。它们可以是类型的GLOBAL, SESSION或BOTH.全局变量影响服务器的整体操作,而会话变量则影响对单个客户端连接的操作。若要查看正在运行的服务器使用的当前值,请使用SHOW VARIABLES陈述或SELECT @@var_name.SHOW VARIABLES LIKE '%wait_timeout%';SELECT @@sort_buffer_size;它们可以在服务器启动时使用命令行上的选项或选项文件中的选项进行设置。在服务器运行时,可以动态更改其中的大多数SET GLOBAL或SET SESSION:-- Syntax to Set value to a Global variable:SET GLOBAL sort_buffer_size=1000000;SET @@global.sort_buffer_size=1000000; -- Syntax to  Set value to a Session variable:SET sort_buffer_size=1000000;SET SESSION sort_buffer_size=1000000;SET @@sort_buffer_size  =1000000;SET @@local.sort_buffer_size=10000;

慕码人8056858

集SET @var_name = value或SET @var := value两个算子=和:=被接受选择SELECT col1, @var_name := col2 from tb_name WHERE "conditon";如果多个记录集仅找到col2中的最后一个值,则保留(覆盖);SELECT col1, col2 INTO @var_name, col3 FROM .....在这种情况下,select的结果不包含col2值。

呼唤远方

声明var_name[,var_name].输入[默认值]此语句声明存储程序中的局部变量。前。声明id int无符号默认值1;若要为变量提供默认值,请包含默认子句。该值可以指定为表达式;它不一定是常量。如果缺少默认子句,则初始值为NULL。局部变量在数据类型和溢出检查方面被视为存储的例程参数。变量声明必须出现在游标或处理程序声明之前。局部变量名称不区分大小写。允许的字符和引用规则与其他标识符相同。局部变量的作用域是开始.在其中声明它的结束块。该变量可以在嵌套在声明块内的块中引用,但声明同名变量的块除外。
打开App,查看更多内容
随时随地看视频慕课网APP