mysql中变量的定义

最近整理了下关于mysql数据库中关于变量的定义 ,感觉对这些知识的印象加深了许多,分享出来,希望大家可以来指出我的错误,共同提高技术

变量分为系统变量和自定义变量。

   1.系统变量(系统提供的,不需要自定义)分为全局变量和会话变量。

   2.自定义变量分为用户变量和局部变量。

  注意:和java中的变量一样的,需要声明赋值,再使用。

#系统变量(默认是session) 以系统变量为例,会话变量和系统变量类似
#作用范围:服务器每一次启动都会为全局变量赋默认初始值,如果修改了全局变量的值,只在本次服务的声明周期内有效,重启服务将恢复默认值
#查看系统变量  
SHOW GLOBAL/SESSION VARIABLES
#通过模糊查询方式 
SHOW GLOBAL/SESSION VARIABLES LIKE '%auto%'
#查看指定的变量 
SELECT @@GLOBAL/SESSION.系统变量名
#为变量赋值
SET GLOBAL/SESSION 系统变量名=值
SET @@GLOBAL/SESSION.系统变量名=值
#查看所有变量
SHOW GLOBAL VARIABLES;
#查看指定的变量
SHOW GLOBAL VARIABLES LIKE '%tx%'
#查看指定部分的变量
SELECT @@GLOBAL.autocommit
SELECT @@tx_isolation
#为指定的变量赋值
SET @@GLOBAL.autocommit=TRUE;
SET GLOBAL autocommit=false;

#自定义变量:遵循变量的声明,赋值,使用
#1.用户变量:针对一次有效的数据库连接有效。
#声明变量
SET @用户变量名=值
SET @用户变量:=值
SELECT @用户变量:=值
#赋值方式1:
SET @用户变量名=值
SET @用户变量:=值
SELECT @用户变量:=值
SET @count_people=0;
#赋值方式2
SELECT 字段 INTO @变量名 FROM 表(查询的字段值只能有一个)
SELECT COUNT(*) INTO @count_people1 FROM employee
#查看变量
SELECT @count_people1;

#2.局部变量:只在begin ~ end 中有效,而且只能使用在begin ~ end 中的第一行
#局部变量声明:
#DECLARE 变量名称 类型;
#DECLARE 变量名称 类型 DEFAULT 默认值;
#赋值1
SET 局部变量名=值;
SET 局部变量名:= 值;
#赋值2
SELECT 字段1,字段2 INTO 局部变量名1,局部变量名2 FROM 表(查询的字段只能是一个)

  

猜你喜欢

转载自www.cnblogs.com/maohaitao/p/11279911.html