1.局部变量

用户自定义,在begin/end块中有效

语法:declare  变量名  数据类型  [default 默认值]
举例:declare  name  varchar(10);
delimiter  $
create  procedure  func()
begindeclare name varchar(10) default '张三';set name = '李四';--给变量赋值select name;--输出变量的值
end $
delimiter;call func();--调用

另一种赋值方式:用select...into...将查询结果赋值给变量 。

查询的返回结果必须是单行单列,例如

delimiter  $
create  procedure  func()
begindeclare name varchar(10);/*将查询结果classname赋值给变量name*/SELECT classname into name from class WHERE classname='数学';select name;
end $
delimiter;

2.用户变量

当前会话连接有效,类比java的成员变量

语法:set @变量名;
delimiter  $
create  procedure  func()
beginset @name='张三';
end $
delimiter;call func();--调用一次后,@name变量就可以在外部使用了
SELECT @name;

3.系统变量

  • 系统变量又分为全局变量与会话变量
  • 全局变量在Mysql启动时由服务器自动将它们初始化为默认值,这些默认值可以通过my.ini文件修改
  • 会话变量在每次建立一个新的连接时,由Mysql初始化。mysql会将当前所有全局变量的值复制一份,来作为会话变量。
  • 全局变量与会话变量的区别在于,对全局变量修改会影响到整个服务器,但是对会话变量修改,只会影响当前会话(也就是当前·数据库的连接)
  • 有些系统变量的值可以利用语句来动态修改,但是有些变量的值是只读的,对于那些可更改的系统变量,可以利用set语句修改
--系统变量(全局变量)
--查看全局变量
show  global variables;
--查看某全局变量
select  @@gloabal.变量名;
--修改全局变量的值
set gloabal 变量名 = ;
--系统变量(会话变量)
--查看会话变量
show session variables;
--查看某会话变量
select @@session.变量名;
--修改会话变量值
set session 变量名 = ;

Mysql存储过程的变量定义相关推荐

  1. MySQL 存储过程的变量

    MySQL  存储过程的变量 变量是一个命名数据对象,变量的值可以在存储过程执行期间更改.我们通常使用存储过程中的变量来保存直接/间接结果. 这些变量是存储过程的本地变量. 注意:变量必须先声明后,才 ...

  2. mysql 存储过程 varchar 赋值,mysql 存储过程中变量的定义与赋值操作

    一.变量的定义 mysql中变量定义用declare来定义一局部变量,该变量的使用范围只能在begin...end 块中使用,变量必须定义在复合语句的开头,并且是在其它语句之前,也可以同时申明多个变量 ...

  3. MySql中的变量定义

    根据mysql手册,mysql的变量分为两种:系统变量和用户变量.但是在实际使用中,还会遇到诸如局部变量.会话变量等概念.根据个人感觉,mysql变量大体可以分为四种类型: 一.局部变量. 局部变量一 ...

  4. 刘先森 MySql中的变量定义

    根据mysql手册,mysql的变量分为两种:系统变量和用户变量.但是在实际使用中,还会遇到诸如局部变量.会话变量等概念.根据个人感觉,mysql变量大体可以分为四种类型: 一.局部变量. 局部变量一 ...

  5. mysql 存储过程 sql变量_SQL基础-变量 存储过程和函数

    一.变量 1.系统变量:全局变量.会话变量 说明:由系统提供,属于服务器层面.如果是全局级别,则需要加 global,如果是会话级别,则需加 session,如果不写,则默认 session.全局变量 ...

  6. mysql存储过程,函数,变量与流程控制

    文章链接:https://codemouse.online/archives/354846877687 存储过程 存储过程和自定义函数是事先经过编译并存储在数据库中的一段SQL语句集合 存储过程参数可 ...

  7. mysql 实数型变量定义,MySQL实数类型使用注意事项

    实数类型,即支持存储带小数的数据类型.MySQL数据库中的实数类型,既有支持精确类型的,也有支持不精确类型的,所以,在使用的过程中需要注意一些注意事项. 1.FLOAT和DOUBLE类型使用标准的浮点 ...

  8. php mysql变量赋值给变量_MySQL_mysql 存储过程中变量的定义与赋值操作,一、变量的定义 mysql中变量定 - phpStudy...

    mysql 存储过程中变量的定义与赋值操作 一.变量的定义mysql中变量定义用declare来定义一局部变量,该变量的使用范围只能在begin...end 块中使用,变量必须定义在复合语句的开头,并 ...

  9. mysql存储过程给多个变量赋值_MySQL存储过程如何进行变量的定义和赋值

    昨天我们讲了mysql存储过程创建修改与删除,下面我们这篇教程是讲关于mysql存储过程中变量的定义赋值操作哦. 一.变量的定义 mysql中变量定义用declare来定义一局部变量,该变量的使用范围 ...

最新文章

  1. SVN分支与合并【超详细的图文教程】(转载)
  2. 安装cv2(opencv-python)遇到的问题
  3. mysql构建url给scrapy_Python Scrapy从mysq填充起始url
  4. [转]nchar,char,varchar与nvarchar区别
  5. Gradle task
  6. PHP连接MySQL报错:Fatal error: Call to undefined function mysql_connect()之解决方法
  7. [BZOJ]1023: [SHOI2008]cactus仙人掌图
  8. json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
  9. 锻炼产品架构思维的4个维度
  10. Windows server2008 搭建ASP接口訪问连接oracle数据库全过程记录
  11. dataframe groupby_详解pandas中的map、apply、applymap、groupby、agg.
  12. tf.contrib.data.Dataset 读取数据的原理--buffer
  13. MD4、MD5、SHA1、HMAC、HMAC_SHA1区别
  14. activator类的使用
  15. cocos 场景制作流程
  16. vue使用百度地图 图标自定义 之 本地图标显示问题
  17. 设置vscode默认终端为msys/MinGW32/MinGW64
  18. matlab nan变成0_最优化计算与matlab实现(17)——粒子群优化算法——带压缩因子的粒子群算法...
  19. 职教云python题和答案_智慧职教云课堂APPPython程序设计题库及答案
  20. 物理内存是什么是计算机的显卡内存吗,物理内存可用数_可用内存和物理内存是什么意思?_可用物理内存...

热门文章

  1. Smarty教程[3]
  2. MATLAB 将计算结果写入Excel表格中
  3. 手机相册里android照片的来源,为什么手机相册总是出现不知道哪里来的照片?|实用...
  4. fifaonline3 操作备忘
  5. 字节流和一些字节流案例
  6. 秒杀场景下如何保证数据一致性?就这个问题我给出了最详细的方案
  7. Oracle 数据库一体机的崛起
  8. mac下制作iso光盘映像文件/镜像文件
  9. python中transform用法_TRANSFORM 用法
  10. 思科(Cisco)日志分析工具