栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在MySQL中声明变量?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在MySQL中声明变量?

MySQL中主要有三种类型的变量:

  1. 用户定义的变量 (以开头
    @
    ):

您可以访问任何用户定义的变量,而无需对其进行声明或初始化。如果引用的变量尚未初始化,则其值为

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;

可以从一组有限的数据类型中为用户变量分配一个值:整数,十进制,浮点数,二进制或非二进制字符串或NULL值。

用户定义的变量是特定于会话的。即,一个客户端定义的用户变量不能被其他客户端看到或使用。

可以

SELECt
使用高级MySQL用户变量技术在查询中使用它们。

  1. 局部变量 (无前缀):

局部变量需要在使用

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
在其内声明的块。

  1. 服务器系统变量 (以前缀
    @@
    ):

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;


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/387938.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号