标签:使用 详细介绍 class set 提交 命令 efault 字段 The
系统变量 和 自定义变量,接下来请看详细介绍:
——说明:系统变量由系统提供,不是用户定义,属于服务器层面
global:表示全局变量
session:表示会话变量
SHOW GLOBAL VARIABLES;#查看所有的全局变量
SHOW SESSION VARIABLES;#查看所有的会话变量
SHOW GLOBAL VARIABLES LIKE '%char%';#查看所有包含char的全局变量
SHOW SESSION VARIABLES LIKE '%char%';#查看所有包含char的会话变量
select @@global.系统变量名;
select @@session.系统变量名;
例:
select @@autocommit;//查看自动提交是否开启
方式一:
set global 系统变量名 = 值;
set session 系统变量名 = 值;
例:
set session tx_isolation = 'read-uncommitted';#设置隔离级别
方式二:
set @@global.系统变量名 = 值;
set @@session.系统变量名 = 值;
例:
set @@session.tx_isolation = 'read-uncommitted';#设置隔离级别
如果是全局级别,则需要加 global;
如果是会话级别,则需要加 session,如果不写则默认是 session 级别。
——说明:自定义变量是由用户自定义,不是由系统提供的
自定义变量中又包含两类:
用户变量(全局变量)
局部变量
赋值的操作符为 =或:=
set @用户变量名 = 值;
set @用户变量名 := 值;
select @用户变量名 := 值;
方式一:(通过set或select)
set @用户变量名 = 值;
set @用户变量名 := 值;
select @用户变量名 := 值;
案例:
set @name = 'json';
set @name = 100;
方式二:(通过select into)
select 字段 into @变量名 from 表;
案例:
select count(*) into @name from employees;//查询员工表总人数
select @变量名;
案例:
select @count;//查询变量值
类似于java中的变量的声明,必须加上类型。可以只声明,不初始化
declare 变量名 类型; #声明
案例:
declare name varchar(20);
#-------
declare 变量名 类型 default 值; #初始化一个值
案例:
declare name varchar(20) default 'Tom';
方式一:(通过set或select)
set 局部变量名 = 值;
set 局部变量名 := 值;
select @局部变量名 := 值;
案例:
set name = 'json';
set name = 100;
方式二:(通过select into)
select 字段 into 局部变量名 from 表;
案例:
select count(*) into name from employees;//查询员工表总人数
select 局部变量名;
案例:
select count;//查询局部变量值
自定义变量中,用户变量和局部变量的 对比:
作用域 | 定义和使用的位置 | 语法 | |
---|---|---|---|
用户变量(全局变量) | 当前会话 | 会话中的任何地方 | 必须加@符号,不用限定类型 |
局部变量 | begin end中 | 只能在begin end中,且为第一句话 | 一般不用加@符号,必须限定类型 |
标签:使用 详细介绍 class set 提交 命令 efault 字段 The
原文地址:https://www.cnblogs.com/orange-wan/p/11915566.html