zoukankan      html  css  js  c++  java
  • MySQL学习笔记之变量

    一、系统变量

      由系统提供,属于服务器层面的变量
      1)查看所有系统变量
      语法:show global|[session] variables; #默认session
      2)查看符合条件的部分系统变量
      show global|[session] variables like '%char%'; #默认session
      3)查询指定的系统变量
      select @@global|session.系统变量名; #默认session
      4)为系统变量赋值
      set global|session 系统变量名 = 值;
      set @@global|session.系统变量名 = 值;
      注:
            a)全局系统变量,global不能省略,会话系统变量,session可以省略。
            b)修改全局系统变量,跨连接有效,修改会话系统变量,只针对当前连接有效。
    

    二、自定义变量

      用户定义的变量。
      1)用户变量
            作用域:只针对当前会话(连接)有效。
            声明并初始化变量
            set @变量名 = 值; 或
            set @变量名 := 值; 或
            select @变量名 := 值; 或
            select 字段 into 变量名 from 表 
            mysql> select count(*) into @total from students;
            Query OK, 1 row affected (0.20 sec)
    
            mysql> select @total;
            +--------+
            | @total |
            +--------+
            |      6 |
            +--------+
            1 row in set (0.00 sec)
    
      2)局部变量
            作用域:仅仅在定义它的begin...end中有效
            声明变量:
                  declare 变量名 数据类型 [default 值];
            赋值和用户变量赋值相同。
            set @变量名 = 值; 或
            set @变量名 := 值; 或
            select @变量名 := 值; 或
            select 字段 into 变量名 from 表 
    

    三、用户变量和局部变量的区别

    变量 作用域 定义和使用的位置 语法
    用户变量 当前会话 会话的任意地方 必须加@符号,不用限定数据类型
    局部变量 begin...end中 只能在begin...end中,且为第一句 一般不用加@符号,需要限定数据类型
  • 相关阅读:
    Block为什么使用Copy?
    iOS运行时,如何增加成员变量
    安卓长按交互onCreateContextMenu的简单 用法
    iOS 检查版本号的代码
    git的基本使用
    svn的使用
    const 关键字及作用
    常见的内存分配
    保存字符串的方法
    指针的总结一(指针的定义)
  • 原文地址:https://www.cnblogs.com/huige185/p/14069093.html
Copyright © 2011-2022 走看看