系统变量名系统变量名变量:
系统变量:
使用语法:
1、查看所有的系统变量
show global(全局) variables ;
show session(会话) variables ;
2、查看满足条件的部分系统变量
show global(全局)| session(会话) variables like ‘%char%’;
3、查看指定的某个系统变量的值
select @@系统变量名(查会话变量)
select @@global.系统变量名(查全局变量)
4、为某个系统变量赋值
set (@@)global|session(可省) 系统变量名 = 值;
全局变量 会话变量
自定义变量:用户变量 局部变量
变量是用户自定义的不是由系统的,应用在任何地方 也就是 begin and 的里面或者外面
1、用户变量:针对当前会话链接有效,同于会话变量的作用域
1.声明并初始化
set @用户变量名=值;
set @用户变量名:=值;
select @用户变量名:=值;
2.赋值(更新用户变量的值)
方式一、set @用户变量名=值;
set @用户变量名:=值;
select @用户变量名:=值;
方式二、select into
select 字段 into @变量名(只能是一个值)
from 表
3.使用(查看用户变量的值)
select @用户变量名;
2、局部变量:仅仅在定义它的begin and 中有效
1.声明
declare 变量名 类型;
declare 变量名 类型 default 值;
2.赋值
方式一、set 局部变量名=值;
set 局部变量名:=值;
select @局部变量名:=值;
方式二、select into
select 字段 into 局部变量名(只能是一个值)
from 表
3.使用
select 局部变量名;
存储过程和函数
类似于Java中的方法
好处:提高代码的重用性
简化操作
存储过程:一组预先编译好的sql语句的集合,理解成批处理语句
简化操作
减少了编译次数并且减少了和数据库服务器的链接次数,提高了效率
二、删除存储过程
四、删除存储过程
drop procedure 函数名;
函数、
三、查看函数
show create function 函数名;
四、删除函数
drop function 函数名;
流程控制结构
顺序结果 :程序从上到下依次执行
分支结构:程序从两条或多条路径中选择一条去执行
循环结构:程序在满足一定条件的基础上,重复执行一段代码
一、分支结构
1.if函数
功能:实现简单的双分支
语法:
select if(表达式1,2,3)
执行顺序:
如果表达式1成立 则返回2 的值 否则返回3的值
应用:任何地方
2.case 结构
情况1:类似Java中的switch语句,一般用于实现的等值判断
语法:
·情况2:类似Java多重if语句,一般用于实现区间判断
3.if结构
实现多重分支
完全Java中是一样的
语法:
if 条件1 then 语句1;
elseif 条件2 then 语句2;
。。。
else 语句n;
end if;
应用在begin end 中
二、循环结构
分类:while loop repeat
循环控制:
iterate 类似于 continue 继续,结束本次循环 继续下一次
leave 类似于break 跳出 结束当前所有循环
1.while
2.loop
loop可用来描述死循环 如果不想死循环就必须搭配leave
3.repeat
3.添加iterate
特别特别 牛逼的 例子!!