MySQL学习之变量
变量
MySQL本质是一种编程语言,需要很多变量来保存数据,mysql中很多的属性控制都是通过MySQL中固有的变量来实现的。
系统变量
系统内部定义的变量,系统变量针对的是所有用户(MySQL客户端)有效。
查看系统所有变量:
show variables(查看所有的系统变量);

show variables like [pattern(模式匹配)](查看指定的名字的系统变量).

mysql允许用户使用select查询变量的数据值(系统变量)
基本语法:select @@变量名

修改系统变量:分为两种修改方法。
1.局部修改(会话级别):只针对当前自己客户端当次连接有效。
基本语法:set 变量名 = 新值;

2.全局修改:针对所有客户端,“所有时刻都有效”。
基本语法:set global 变量名 = 新值;|| set @@global.变量名 = 新值。
全局修改之后,所有连接的客户端并没有发生改变?全局修改只针对新客户生效,(老客户无效)。

注意:如果想要本次连接对应的变量的修改有效,那么不能使用全局修改,只能使用会话级别修改
(set 变量名 = 新值)。
会话变量
会话变量也称之为用户变量,会话变量跟MySQL客户端是绑定的,设置的变量,只对当前用户使用的客户端生效。
定义用户变量:基本语法:set @name = 值。
在MySQL中因为没有比较符号== ,所以使用=代替比较符号,有时候在赋值的时候,会报错,MySQL为了避免系统分不清是赋值还是比较:增加了一个变量的赋值符号:=
基本语法: set @变量名 := 值;

MySQL是专门存储数据的:允许将数据从表中取出存储变量中,查询得到的数据必须只能是一行数据(一个变量对应一个字段值),MySQL没有数组。
1.赋值且查看赋值过程:select @变量 1= 字段1,@变量2 = 字段2 from 数据表 where 条件 limit 1。
2.只赋值:不看过程:select 字段1,字段2,from 数据源 where 条件 into @ 变量1,@变量2.....;
查看自定义变量:基本语法 select @变量名;
MySQL的@与@@区别
@x 是 用户自定义的变量 (User variables are written as @var_name)
@@x 是 global或session变量 (@@global @@session )
局部变量
作用范围在begin和end语句之间,在该语句块里设置的变量,declare 语句专门用于定义局部变量。
1.局部变量是使用declare关键字声明的。
2.局部变量declare语句出现的位置一定是begin和end之间的。(begin---end是在大型 语句块中使用的,函数/存储过程
/触发器).
3.声明语法:declare 变量名 数据类型【属性】;
MySQL学习之变量的更多相关文章
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(二) 数据类型宽度
我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(四) 数据类型
我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(六) 函数
我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
- 我的MYSQL学习心得(十) 自定义存储过程和函数
我的MYSQL学习心得(十) 自定义存储过程和函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心 ...
- 我的MYSQL学习心得(十四) 备份和恢复
我的MYSQL学习心得(十四) 备份和恢复 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) ...
- 我的MYSQL学习心得(十五) 日志
我的MYSQL学习心得(十五) 日志 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- 我的MYSQL学习心得(十七) 复制
我的MYSQL学习心得(十七) 复制 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- Mysql学习笔记(三)对表数据的增删改查。
正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...
随机推荐
- easyui grid 增加合计行
一.首先,easyui grid 的 showfooter 属性设置为 true $aplgrid.datagrid({ data: globalExpenseClaimForm.ExpenseCl ...
- 使用Mist部署Contract到Rinkeby以太坊网络
本文使用MyEthWallet新建一个账号,并导入到Mist中,然后部署Contract到Rinkeby网络使用MyEthWallet新建账号的好处是除了JSON文件之外,还能得到一张它生成的pdf( ...
- Python文件夹与文件的操作 ZZ
最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模 ...
- 深入解读TPC-C指标
深入解读TPC-C指标 TPC(Transactionprocessing Performance Council,事务处理性能委员会)是由数十家会员公司创建的非盈利组织,总部设在美国.TPC的成员主 ...
- nginx转发配置
nginx upstream backend19050 { server 10.10.10.10:19050 max_fails=3 fail_timeout=30s; } server { list ...
- IE浏览器兼容问题(下)——IE6的常见问题
IE6常见兼容性问题 1.盒模型问题 (1)DTD问题 DTD:文档定义类型,规定了要遵循的书写规范. 如果不写DTD,高级浏览器还是可以正常加载,IE6会以怪异模式进行加载. 盒模型:正常应该是外扩 ...
- Maven学习总结(一)——pom.xml文件配置详解
<build>标签:<plugins>给出构建过程中所用到的插件 <plugins> <plugin> <groupId>org.apach ...
- 如何使用jMeter对某个OData服务进行高并发性能测试
For project reason I have to measure the performance of OData service being accessed parallelly. And ...
- SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解
(1) 在SAP CRM里创建一个Lead后,会观察到有一个Opportunity自动生成,这是通过什么后台逻辑实现的呢? 检查前台日志或者后台事务码SLG1,发现有很多属于用户WF-BATCH的日志 ...
- hdu-2841 Visible Trees---容斥定理
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2841 题目大意: N*M的格点上有树,从0,0点可以看到多少棵树. 解题思路: 发现如果A1/B1= ...