zoukankan      html  css  js  c++  java
  • MySQL数据库8(二十二)变量

    变量

    Mysql本质是一种编程语言,需要很多变量来保存数据。Mysql中有很多的属性控制都是通过mysql中固有的变量来实现的。

    系统变量

    系统内部定义的变量,系统变量针对所有用户(mysql客户端)有效

    查看系统所有变量

    show variables;

     

    Mysql允许用户使用select查询变量的数据值(系统变量)

    基本语法:select @@变量名;

     

    修改系统变量

    分为两种修改方式:

    1、局部修改(会话级别):只针对当前自己客户端当次连接有效

    基本语法:set 变量名 = 新值;

     

    2、全局修改:针对所有客户端,“所有时刻”都有效

    基本语法:set global 变量名 = 值;或者 set @@global.变量名 = 值;

    全局修改后,所有连接的客户端并没有发现改变?全局修改只针对新客户端生效(正在连着的无效)

    注意:如果想要本次连接对应的变量修改有效,那么不能使用全局修改,只能使用会话级别修(set 变量名 = 值;)

    会话变量

    会话变量也称之为用户变量,会话变量跟mysql客户端是绑定的,设置的变量,只对当前用户使用的客户端生效。

    定义用户变量:set @变量名 = 值;

     

    在mysql只因为没有比较符号 ==,所以使用=代替比较符号,有时候在赋值的时候,会报错;mysql为了避免系统分不清是赋值还是比较:特定增加一个变量的赋值符号: :=

    赋值:set @变量名 := 值;

     

    Mysql是专门存储数据的:允许将数据从表中取出存储到变量中:查询得到的数据只能是一行数据(一个变量对应一个字段值):mysql中没有数组

    1、赋值且查看赋值过程:select @变量1: =字段1,@变量2 : =  字段2 from 数据表 where条件;

    错误语法:就是因为使用=,系统会当作比较符号来处理

     

    正确使用: :=

     

    2、只赋值不看过程:select 字段1,字段2…from 数据源 where 条件 into @变量1,@变量2…;

     

    局部变量

    作用范围在begin到end语句块之间。在该语句块里设置的变量,declare语句专门用于定义局部变量。

    1、局部变量是使用declare关键字声明

    2、局部变量declare语句出现的位置一定是在begin和end之间(begin end是在大型语句块中使用:函数/存储过程/触发器)

    3、声明语法:declare 变量名 数据类型[属性];

                  declare res int default 0;

    declare res int = 0;

  • 相关阅读:
    Digital Video Stabilization and Rolling Shutter Correction using Gyroscope 论文笔记
    Distortion-Free Wide-Angle Portraits on Camera Phones 论文笔记
    Panorama Stitching on Mobile
    Natural Image Stitching with the Global Similarity Prior 论文笔记 (三)
    Natural Image Stitching with the Global Similarity Prior 论文笔记(二)
    Natural Image Stitching with the Global Similarity Prior 论文笔记(一)
    ADCensus Stereo Matching 笔记
    Efficient Large-Scale Stereo Matching论文解析
    Setting up caffe on Ubuntu
    Kubernetes配置Secret访问Harbor私有镜像仓库
  • 原文地址:https://www.cnblogs.com/sun-yanglu/p/9612888.html
Copyright © 2011-2022 走看看