变量

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学习之变量的更多相关文章

  1. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  2. 我的MYSQL学习心得(二) 数据类型宽度

    我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  3. 我的MYSQL学习心得(四) 数据类型

    我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...

  4. 我的MYSQL学习心得(六) 函数

    我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  5. 我的MYSQL学习心得(十) 自定义存储过程和函数

    我的MYSQL学习心得(十) 自定义存储过程和函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心 ...

  6. 我的MYSQL学习心得(十四) 备份和恢复

    我的MYSQL学习心得(十四) 备份和恢复 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) ...

  7. 我的MYSQL学习心得(十五) 日志

    我的MYSQL学习心得(十五) 日志 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  8. 我的MYSQL学习心得(十七) 复制

    我的MYSQL学习心得(十七) 复制 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  9. Mysql学习笔记(三)对表数据的增删改查。

    正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...

随机推荐

  1. 转 linux screen 命令详解

    一.背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况下我们都是为每一个这样的任务开一个远 ...

  2. hdu 3613 Best Reward (manachar算法)

    Best Reward Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Prob ...

  3. Codeforces Round #411 B. 3-palindrome

    B. 3-palindrome time limit per test 1 second memory limit per test 256 megabytes   In the beginning ...

  4. springboot 使用webflux响应式开发教程(二)

    本篇是对springboot 使用webflux响应式开发教程(一)的进一步学习. 分三个部分: 数据库操作webservicewebsocket 创建项目,artifactId = trading- ...

  5. java面试题----IO流种类及接口方法

    java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种 ...

  6. mysql 配置详解

    [client]port = 3306socket = /tmp/mysql.sock [mysqld]port = 3306socket = /tmp/mysql.sock basedir = /u ...

  7. 【Leetcode】【Medium】Find Minimum in Rotated Sorted Array

    Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...

  8. php 汉字转拼音函数

    function Pinyin($_String, $_Code='UTF8'){ //GBK页面可改为gb2312,其他随意填写为UTF8 $_DataKey = "a|ai|an|ang ...

  9. 学习Road map Part 04 自动驾驶、SLAM、ROS、树莓派

    学习Road map Part 04 自动驾驶.SLAM.ROS.树莓派

  10. 经典优秀屏幕截图录像工具FastStone Capture推荐

    FastStone Capture (FSCapture) 是经典好用的屏幕截图软件,还具有图像编辑和屏幕录制两大功能. FastStone Capture 主要功能 包括:1.截图功能(可以捕捉:活 ...