存储过程和函数——(1)存储过程的介绍和语法
存储过程和函数——(2)函数
1,变量
系统变量:全局变量,会话变量。
自定义变量:用户变量,局部变量。
1;系统变量:
**含义:**变量由系统提供,不是用户定义,属于服务器层面,不可以跨重启
语法:1:查看所有的系统变量
show global|session variables;
2:查看满足条件的部分系统变量
show global|session variables like ‘%char%’;
3:查看某个指定的系统变量的值
show @@global|session .系统变量名;
4:为某个系统变量赋值
set global|session 系统变量名=值;或者
show @@global|session .系统变量名=值;
2;自定义变量
**含义:**变量是用户自定义的,不是系统的。
**步骤:**1;声明,2;赋值,3;使用
1:用户变量
作用域:针对于当前会话连接有效,等同于会话变量的作用域
语法:先声明并初始化
set @用户变量名=值
或set @用户变量名:=值
或select @用户变量名:=值
后赋值
方法1:set @用户名=值或set @用户名:=值或select @用户名:=值
方法2:select 字段 into @用户变量名 from 表;
在使用
select @用户变量名
2:局部变量
作用域:仅仅在定义的begin end 有效
语法:先声明并初始化
declare 变量名 类型 default 值;
后赋值
方法1:set 局部变量名=值或set 局部变量名:=值或select 局部变量名:=值
方法2:select 字段 into 局部变量名 from 表;
在使用
select 局部变量名
2,存储过程的介绍和语法
存储过程含义:一组预先编译好的SQL语句,理解成批处理语句
好处:
1;提高代码重用性
2;简化操作
3;减少了编译次数并且减少了和数据库的连接次数,提高了效率
语法:1:创建语法:
create procedure 存储过程名(参数列表)
begin
方法体(一组合法的SQL语句)
end
**注意:**参数列表包含三部分(参数模式,参数名,参数类型)
例:in stuname varchar(20)
参数模式:
IN:该参数可以作为输入,也就是该参数需要调用方传入值
OUT:该参数可以作为输出,也就是该参数可以作为返回值
INOUT:该参数既可以作为输入又可以作为输出**,也就是该参数既需要传入值,又可以返回值**
注意:1;如果存储过程体仅仅只有一句话,BEGIN END可以省略
2;存储过程体中的每条SQL语句的结尾要求必须加分号.
3;存储过程的结尾可以使用DELIMITER 重新设置
语法:
DELIMITER 结束标记
完整语法
DELIMITER $
create procedure 存储过程名(参数列表)
begin
方法体(一组合法的SQL语句)
end $
2;调用语法
call 存储过程名(参数列表);
空参的存储过程
带in模式的存储过程
带out模式的存储过程
3,存储过程的删除和查看
删除语法: DROP PROCEDURE 存储过程名;
注意:删除只可以一个一个删除
查看语法: SHOW CREATE PROCEDURE 存储过程名;