mysql变量用法实例分析【系统变量、用户变量】

作者:随风行云 时间:2024-01-20 08:47:20 

本文实例讲述了mysql变量用法。分享给大家供大家参考,具体如下:

本文内容:

  • 系统变量

  • 用户变量

    • 局部变量

首发日期:2018-04-18


系统变量:

  • 系统变量就是系统已经提前定义好了的变量

  • 系统变量一般都有其特殊意义。比如某些变量代表字符集、某些变量代表某些mysql文件位置

  • 系统变量中包括会话级变量(当次会话连接生效的变量,如names),以及全局变量(一直生效的变量) 【系统变量中全局变量和会话变量其实是使用一套变量,不同的是会话变量仅当次会话生效。】


    • 会话变量的赋值:set 变量名 = 值;  【比如常用的set names ="utf8";】或者set @@变量名=值

    • 全局变量的赋值:set global 变量名 = 值;

查看系统变量:

  • show variables;

系统变量的调用:

  • select @@变量名;


用户变量:

  • 用户变量就是用户自己定义的变量。

  • 系统为了区别系统变量跟自定义变量,规定用户自定义变量必须使用一个@符号

  • 变量的定义方式:

    • set @变量名=1

    • select @变量名:=值;

    • select 值 into @变量名;

  • 用户变量可以不声明定义,就可以直接使用,不过默认是null值

  • 用户变量都是会话级的变量,仅在当次连接中生效。

局部变量:

  • 由于局部变量是用户自定义的,可以认为局部变量也是用户变量【但有所不同,局部中不需要使用@】

  • 局部变量一般用在sql语句块中,比如存储过程块、触发器块等

  • 局部变量的定义方法:


    • select 变量名;

    • set 变量名= 值;

    • 示例:declare myq int;

    • 示例:declare myq int default 666;

    • 先使用declare声明局部变量,其中可选项default后面可以跟一个付给变量的默认值:【非常重要的一步,不然会设置成用户变量】【注意:变量声明语句要在其他语句如select语句之前】

    • 设置变量的值:

    • 获取变量的值:


    create procedure myset()
    begin
    declare mya int;
    declare myq int default 777;
    select mya,myq;
    set myq=6;
    set mya=666;
    select mya,myq;
    end;

    call myset();

    补充:

    • 有些人可能会发现直接set 变量名=值;也可以定义“用户变量”;但这是一种不好的行为【这种行为忽略了各自变量的功能】,因为你不知道会不会跟系统变量冲突,所以最好用户变量加上@

    • 因为 = ,有很多地方都用来判断是否等于,为了避免歧义,也可以使用:=来赋值mysql变量用法实例分析【系统变量、用户变量】

    • 上面虽然给了一些其他的赋值方法,但好像有一些是不通用的,比如:=只用于用户变量,所以要审慎使用】。

    希望本文所述对大家MySQL数据库计有所帮助。

    来源:https://www.cnblogs.com/progor/p/8870917.html

    标签:mysql,系统变量,用户变量
    0
    投稿

    猜你喜欢

  • Python3.8安装tensorflow的简单方法步骤

    2021-03-11 23:31:42
  • Python实现语音识别和语音合成功能

    2021-07-13 13:06:58
  • Python集合之set和frozenset的使用详解

    2021-06-26 22:41:20
  • 利用Python内置库实现创建命令行应用程序

    2022-04-26 03:39:19
  • Python中endswith()函数的基本使用

    2022-06-05 04:01:34
  • javascript 用函数语句和表达式定义函数的区别详解

    2024-04-16 09:06:26
  • python+selenium实现登录账户后自动点击的示例

    2021-07-26 05:40:21
  • Tensorflow2.4从头训练Word Embedding实现文本分类

    2023-05-22 20:03:17
  • Pytorch自动求导函数详解流程以及与TensorFlow搭建网络的对比

    2023-07-08 18:44:37
  • python每5分钟从kafka中提取数据的例子

    2022-05-15 16:35:52
  • 新手该如何学python怎么学好python?

    2022-06-20 07:33:27
  • Html中 IFrame的用法及注意点

    2023-07-02 05:30:16
  • django定期执行任务(实例讲解)

    2022-12-13 20:43:35
  • vue3中给数组赋值丢失响应式的解决

    2024-05-22 10:44:41
  • SQL查询语句优化的实用方法总结

    2024-01-25 18:51:21
  • asp精妙的SQL语句例子

    2008-03-04 17:42:00
  • vue3 自定义指令详情

    2024-05-09 15:08:31
  • SQL语句(T-SQL汇总) 用T-SQL画出这些图形

    2024-01-13 15:24:35
  • sql server数据库高可用日志传送的方法

    2024-01-24 19:19:32
  • PHP页面静态化的优缺点与实现

    2023-05-27 09:14:40
  • asp之家 网络编程 m.aspxhome.com