zoukankan      html  css  js  c++  java
  • Mysql15—— 变量

    系统变量

    • 全局变量
    • 会话变量

    自定义变量

    • 用户变量
    • 局部变量

    一、系统变量

    变量由系统提供,不是用户定义,属于服务器层面

    使用的语法:

    1、查看所有的系统变量

    SHOW GLOBAL|SESSION VARIABLES;

    2、查看满足条件的部分系统变量

    show global|【session】 variables like '%char%';

     3、查看指定的某个系统变量的值

    select @@global|【session】.系统变量名;

     4、为某个系统变量赋值

    方式一:

    set global|【session】 系统变量名 = 值;

    方式二:

    set @@global|session.系统变量名 = 值;

    注意:

    如果是全局级别,则需要加global,如果是会话级别,则需要加session,如果不写,则默认session。

    1》全局变量

    作用域:服务器每次启动将为所有的全局变量赋初始值,针对于所有的会话(连接)有效,但不能跨重启

    查看所有的全局变量

    SHOW GLOBAL VARIABLES;

    查看部分的全局变量

    SHOW GLOBAL VARIABLES LIKE '%char%';

    查看指定的全局变量的值

    SELECT @@global.autocommit;

    SELECT @@tx_isolation;

    为某个指定的全局变量赋值

    SET @@global.autocommit=0;

    2》会话变量

    作用域:仅仅针对于当前的会话(连接)有效

    查看所有的会话变量

    SHOW VARIABLES 

    SHOW SESSION VARIABLES

    查看部分的会话变量

    SHOW VARIABLES LIKE '%CHAR%';

    SHOW SESSION VARIABLES LIKE ‘%char%’;

    查看指定的某个会话变量

    SELECT @@tx_isolation;

    SELECT @@session.tx_isolation;

    为某个会话变量赋值

    方式一:

    SET @@tx_isolation = 'read-uncommitted';

    方式二:

    SET SESSION tx_isolation = 'read-committed';

    二、自定义变量

    说明:变量是用户自定义的,不是由系统定义的

    使用步骤:

    • 声明
    • 赋值
    • 使用(查看、比较、运算等)

    1、用户变量

    作用域:针对于当前会话(连接)有效,同于会话变量的作用域,应用在任何地方,也就是begin end的里面或外面

    赋值的操作符: =或:=

    声明并初始化

    SET @用户变量名=值;

    SET @用户变量名:=值;

    SELECT @用户变量名:=值;

    赋值(更新用户变量的值)

    方式一:通过SET或SELECT

    • SET @用户变量名=值;
    • SET @用户变量名:=值;
    • SELECT @ 用户变量名:=值;

    方式二:通过SELECT INTO

    SELECT 字段 INTO 变量名

    FROM 表;

    使用(查看用户变量的值)

    SELECT @用户变量名;

    案例

    声明并初始化

    SET @name='john';

    SET @name=100;

    SET @count=1;

    赋值

    SELECT COUNT(*) INTO @count

    FROM employees;

    查看

    SELECT @count;

    2、局部变量

    作用域:仅仅在定义它的begin end中有效

    声明

    DECLARE 变量名 类型;

    DECLARE 变量名 类型 DEFAULT 值;

    赋值(更新用户变量的值)

    方式一:通过SET或SELECT

    • SET @用户变量名=值;
    • SET @用户变量名:=值;
    • SELECT @ 用户变量名:=值;

    方式二:通过SELECT INTO

    SELECT 字段 INTO 变量名

    FROM 表;

      作用域 定义和使用的位置 语法
    用户变量 当前会话 会话中的任何地方 声明的语法不同,必须加@符号
    局部变量 BRGIN END 中 只能在BEGIN END中,且为第一句话 一般不用加@符号,需要限定类型 
  • 相关阅读:
    hihoCoder #1062 : 最近公共祖先·一
    hihoCoder #1050 : 树中的最长路
    hihoCoder #1049 : 后序遍历
    108 Convert Sorted Array to Binary Search Tree 将有序数组转换为二叉搜索树
    107 Binary Tree Level Order Traversal II 二叉树的层次遍历 II
    106 Construct Binary Tree from Inorder and Postorder Traversal 从中序与后序遍历序列构造二叉树
    105 Construct Binary Tree from Preorder and Inorder Traversal 从前序与中序遍历序列构造二叉树
    104 Maximum Depth of Binary Tree 二叉树的最大深度
    102 Binary Tree Level Order Traversal 二叉树的层次遍历
    101 Symmetric Tree 判断一颗二叉树是否是镜像二叉树
  • 原文地址:https://www.cnblogs.com/stu-jyj3621/p/14298731.html
Copyright © 2011-2022 走看看