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 ...
随机推荐
- 139.00.007 Git学习-Cheat Sheet
@(139 - Environment Settings | 环境配置) Git虽然极其强大,命令繁多,但常用的就那么十来个,掌握好这十几个常用命令,你已经可以得心应手地使用Git了. 友情附赠国外网 ...
- switch case 忘记 break
昨天纠结了很久的问题,一直找不到原因,早上发现是一个低级错误: private void selectButton(int id) { switch (id) { case 0: recommend_ ...
- Java基础之this关键字的作用
this关键字主要存在三种应用 1.this调用本类中的属性,也就是说调用类中的成员变量: 2.this调用本类中的其他方法: 3.this调用本类中的其他构造方法,调用时要放在构造方法的首行,否则会 ...
- 如何在 Linux 虚拟机上扩展根文件系统
问题描述 通过 Azure 平台部署的 Linux 虚拟机默认的根文件系统容量有限,需要进行扩展. 问题分析 由于 Azure 平台部署的 Linux 虚拟机默认根文件系统容量比较小,客户在使用过程中 ...
- Linux的inode的理解 ZZ
文件名 -> inode -> device block 转自:http://www.ruanyifeng.com/blog/2011/12/inode.htmlhttp://blog.s ...
- C#连接SQL Server测试
string con, sql; con = "Server=192.168.31.26;Database=TestDB;user=kala;pwd=Password"; sql ...
- MQ测试
2015年8月13日23:14:52 测试RabbitMq ====================== 千兆局域网:send ≍10000/s receive ≍7000/s 百兆局域网:send ...
- Python初学者第十天 集合、十六进制
10day 数据类型:集合 set 1.集合的定义 集合:无序的.不重复的数据组合. 特性:a.去重,把一个列表变成集合,就自动去重了 b.关系测试.测试两组数据之间的交集.差集.并集等关系 2.集合 ...
- January 30 2017 Week 5 Monday
I can accept defeat but could not accept to give up. 我可以接受失败,但不能接受放弃. Fortune has not always smiled ...
- nodejs+postgis实现搜周边
利用nodejs搭建服务器,并连接PostgreSQL数据库,利用前端传过来的中心点坐标和搜索半径,进行空间查询,实现简单的搜周边,下面是实现流程和nodejs的代码: app.post('/tose ...