MySQL中变量的使用
一.认识MySQL 中的变量
在MySQL中变量的绝大部分的用处都是在存储过程和存储函数中。
当然也可以抛开存储过程和存储函数来单独使用。
变量在MySQL中的运用和在编程语言中的运用大体相同
二.MySQL中变量的实际分类
其实可以简单的将MySQL中的变量分为局部变量,全局变量。
上面说了变量其实大多都是在存储过程和函数中运用到的比较多,
其实局部变量对应的就是存储过程中的局部参数,
而全局变量对应的就是存储过程中的会话参数。
三.局部变量
3.1 注意点
1.首先局部变量必须存在于存储过程或者存储函数中,而且也是在定义他的begin/***/end的集合中有效,不能定义在存储过程或者存储函数以外的地方。
2.可以为局部变量指定默认值,否则全部默认为null
3.2创建一个局部变量
语法:declare 变量名 变量类型
例子:
use study;
delimiter //
create procedure pro2()
reads sql data
begin
declare num1 int default 10;
select num1;
begin
declare num1 int default 20;
select num1;
end;
end;
//
四.创建一个全局变量
语法:set @变量名 = 初始化值
对于全局变量是可以单独存在的。
例子:
set @num =10;
set @num1 ="我是一个全局变量";
五.给变量赋值
除了在创建变量时给变量赋值外,我们还可以通过查询语句来赋值。
语法:select 列名 into 变量名 from 表名 where......
MySQL中变量的使用的更多相关文章
- mysql中变量赋值
http://www.cnblogs.com/qixuejia/archive/2010/12/21/1913203.html sql server中变量要先申明后赋值: 局部变量用一个@标识,全局变 ...
- 转:MySQL中变量的定义和变量的赋值使用(转)
MySQL中变量的定义和变量的赋值使用(转) 说明:现在市面上定义变量的教程和书籍基本都放在存储过程上说明,但是存储过程上变量只能作用于begin...end块中,而普通的变量定义和使用都说的比较 ...
- MySQL中变量的总结
本文对MySQL中局部变量.用户变量.系统变量的理解进行总结. 一.局部变量 局部变量由DECLARE语句声明: DECLARE var_name[,...] type [DEFAULT value] ...
- mysql中变量
mysql中的变量: mysql中,有两种变量形式: 普通变量: 不带“@”符号: 定义形式: declare 变量名 类型名 [default 默认值]: //普通变量必须先这样定义 赋值 ...
- MySQL中变量的定义和变量的赋值使用(转)
说明:现在市面上定义变量的教程和书籍基本都放在存储过程上说明,但是存储过程上变量只能作用于begin...end块中,而普通的变量定义和使用都说的比较少,针对此类问题只能在官方文档中才能找到讲解. 前 ...
- mysql中变量的定义
mysql中的变量定义 mysql的变量分为系统变量和用户变量,mysql系统定义的变量是系统变量,用户自己定义的变量为用户变量.对于系统变量,用户只能够改变它的值不能够创建新的系统变量.对于用户变量 ...
- mysql中变量character_set_connection的具体作用
如题.通常的使用中,character_set_client,character_set_connection这两个变量的值是一样的,也就是说查询不需要进行编码转换.这样看来变量character_s ...
- MySQL中变量的用法——LeetCode 178. Rank Scores
Write a SQL query to rank scores. If there is a tie between two scores, both should have the same ra ...
- MySQL中@变量的妙用
背景需求:如下图所示,需要将下面为空的字段值,填充为第一行所示的值 第一次处理失败了 第二次使用成功 使用的SQL语句如下: set @tmp_var=''; select b.id,b.table_ ...
随机推荐
- Homebrew 备忘
每次都搜,写篇博客记录以备后续查看. 安装 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew ...
- Linux/AIX/Windows端口和进程互查
经常我们需要通过端口号查是哪个进程占用,或想查看某个进程占用了哪些端口. 1.1Linux上通过端口查找进程 比如我们想知道当前系统中80端口是哪个进程所占用 netstat -anp| |more ...
- 使用web3+solc编译发布以太坊智能合约
一.环境安装: 1.安装web3工程:npm install web3 2.安装solc工程:npm install solc二.在node环境中使用 先引用所需环境: var fs = requir ...
- git merge branch
git branch look at your branches git branch newbranch git checkout newbrach do something git check ...
- python---多线程与多进程
一. 单进程多线程 1. 使用的模块是Threading.使用join()函数进行阻塞. from pdf2txt import pdfTotxt1, pdfTotxt2 import xlrd im ...
- Win10系列:JavaScript 数据绑定
使用数据绑定可以使页面中元素的属性值与数据源中的数据同步,其中数据源可以来自数据库.文件以及自定义的数据等.在常用的数据绑定方法中,简单对象绑定是将HTML元素与一个仅包含数据的简单对象相绑定,模板绑 ...
- Vue笔记:使用 vuex 管理应用状态
如果你在使用 vue.js , 那么我想你可能会对 vue 组件之间的通信感到崩溃 . 我在使用基于 vue.js 2.0 的UI框架 ElementUI 开发网站的时候 , 就遇到了这种问题 : 一 ...
- unity中让物体移动到鼠标点击地面任一点的位置(单击移动和双击暂停移动)并生成图标
using UnityEngine; using System.Collections.Generic; using UnityEngine.EventSystems; using UnityEngi ...
- 用swagger生成接口文档代码
1.Swagger2类: package com.example.demo; import com.google.common.base.Predicate; import io.swagger.an ...
- DevExpress WinForms v18.2新版亮点(八)
买 DevExpress Universal Subscription 免费赠 万元汉化资源包1套! 限量15套!先到先得,送完即止!立即抢购>> 行业领先的.NET界面控件2018年第 ...