做网页怎么在网站播放视频,vue适合做门户网站吗,wordpress 免插件统计,儋州网站建设培训学校一#xff1a;概念#xff1a; 存储过程实际上对标了JAVA当中的方法#xff0c;两者是相似的#xff0c;同时需要注意的一点是#xff0c;MYSQL仅仅在5.0版本之后才出现这种存储操作的过程#xff1b; 优点#xff1a; 1.存储过程能够让运行的速度变得更加迅速#xff…一概念 存储过程实际上对标了JAVA当中的方法两者是相似的同时需要注意的一点是MYSQL仅仅在5.0版本之后才出现这种存储操作的过程 优点 1.存储过程能够让运行的速度变得更加迅速仅仅只有首次进行实用的时候需要进行相应的编译之后再次调用的时候可以直接进行实用 2.存储过程的特点模块化代码复用封装。
二分类
1.存储过程关键语句
2.变量
3.参数传递
4.分支语句
5.循环语句
6.游标
7.异常处理handler 1.存储过程关键语句
delimiter (设置启动的标识符)
create procedure (存储过程的名称) (参数传递关键词 参数名称 参数类型);
begin(检索代码)
end (开始设置的标识符);
delimiter ;
2.变量
1变量类型
①局部变量
②用户变量
③参数变量
2变量介绍 ①局部变量 范围顾名思义局部变量的作用范围比较的小仅仅只能够作用在存储过程当中的begin--end之间进行实用一旦超出范围进行调用检索的时候就无法进行搜索 关键语句
delimiter ..;
create procedure ...()begindeclare (局部变量名称) 局部变量的类型 [default ....(初始化)];
-- 开始对于局部变量进行赋值set (局部变量名称) ...;(其他检索)
end ...;
delimiter ;select (局部变量名称); -- 不成功因为在存储过程begin-end之外运行 ②用户变量 范围用户变量的作用范围有所增大可以作用于当前的会话也就是作用在当前互联网跟mysql的连接ing 关键语句
TIPS
-- 1.需要注意的一点是对于所有的用户变量都不需要进行声明赋值即声明
-- 2.对于所有的用户变量都能够在存储过程的外面进行调用delimiter ...;
create procedure ...()
begin set (用户变量名称) ;
end ...;
delimiter ;select (用户变量名称); -- 可以搜索到相应的结果 ③参数变量 参数变量又可以分为两个部分一个是全局变量一个是会话变量 1.全局变量 1范围 对于全局变量的修改会影响到一整个的服务器并且对于全局变量来说在MYSQL启动的时候由服务器自动对他们进行默认初始化这些默认值可以通过my.in这个文件进行修改 2关键语句
关键使用语句global
1.查看全局变量
select global variables(全局变量名称);
2.查看具体的全局变量
show global.(相应的全局变量名称);
3.修改全局变量的值
set global (全局变量名称) new_value; 2.会话变量 1作用范围 对于会话变量会在每一次建立新的连接的时候MYSQL会对其进行初始化将全局变量的值赋值一份用来当作当前新建会话的会话变量 2关键语句
1.查看局部变量
select session variables;2.查看具体的局部变量
select session.(局部变量名称);3.修改局部变量的值
set session (局部变量名称) new_value; TIPS: 其实两个变量大体上是一样的仅仅只有在作用范围上不同其他的都是一样。因此如果两个变量都没有修改那么全局变量跟用户变量的值是一样的两者并没有区别 三.参数传递 1.类型参数传递主要分为三个包括有三个部分分别是in,out,inout 2.介绍 操作
in:让数据能够进入到存储过程当中进行查询
delimiter \\;
create procedure emp_1(in name varchar(20))
begin select * from emp e where e.namename; -- 第二个name代表的是传入的参数的名称
end \\;
delimiter ;out:能够让参数进行返回使用
delimiter \\;
create procedure emp_2(in name varchar(20),out id int)
begin select e.id into id from emp e where e.namename; -- 第二个name代表的是传入的参数的名称
end \\;
delimiter ;call emp_2(‘刘一’,id);
select id;inout:能够对于输入的值进行修改之后再进行返回
delimiter \\;
create procedure emp_3(inout name varchar(20))
begin select * from emp e where e.namename; -- 第二个name代表的是传入的参数的名称
end \\;
delimiter ;
set name王老师;
call emp_3(name);四分支语句 1.分类 分支语句主要包括有几个部分if分支case分支 2. ①if分支
关键语句
if (条件) then 查询
elseif (条件...) then查询
else default(设置除了这些之外的其他操作会有什么结果)
endif;delimiter \\;
create procedure pro-1(in single int)
begin
if single1
-- 如果输入数字为1那么就显示所有的员工信息;then select * from emp;
eles select 错误选项;
endif;
end \\;
delimiter ;有关if的其他小知识
leava 表示直接离开当前的条件判断 -- 相当于JAVA当中的break;
iterate 表示的是跳过当前的判断 -- 类似于在java当中的continue;②case分支:
类似于JAVA当中的switch语句
语法一
case case_value(变量名称)when when_value then select语句when when_value then select语句[else default]
end case;语法二
casewhen search_condition then select...when search_condition then select...[else default]
end case;五循环语句 循环语句主要可以分为三大类while , loop ,repeat 循环是一种虽然只会程序当中出现一次但是能够运行多次的代码
1.while
while循环类似于JAVA当中的while的循环,都是先判断条件,判断正确之后,可以再执行之后的语句,否则结束循环语句
while(condition_value) do
循环体
end while;加入到存储过程当中一:在表格当中插入数据并且为自己控制插入多少条设置use1存储过程
create table emp1(
id int primary key,
name varchar(20),
user varchar(20)
);delimiter \\;
create procedure use1(in single int)
begin declare i int default 1;
while(isingle) doinsert into emp1 values(i,concat(user,i),123456);set i i1;
end while;二在表格当中插入single_0条数据但是跳过第single_1条数据设置use2存储过程
delimiter \\;
create procedure use2(in single_0 int,in single_1 int)
begindecalre i int default 1;
w while(isingle_0) doa if(i single_1) thenset i i1; iterate a;else insert into emp values(i,concat(user,i),123456);set i i1;end if;
end while;
end \\;
delimiter ;2.repeat循环语句
repeat循环相当于之前在java当中所学习的do-while循环,需要先执行查找语句之后再进行判断条件语句
[标签] repeat
循环体;
utile when_value;
end repeat[标签];
3.loop循环
loop循环不需要条件的判断能够一直进行执行所以如果需要跳过循环那么就需要使用相应的if条件判断,从而跳出这个死循环 -- 对应了java当中的while(true)循环语法
[循环标签] loop
循环体
if when_value then....
elseif when_value then...
...leave [循环标签];...
end if;
end loop;
六.游标
1.介绍 游标是一种能够存储查询结果集的数据类型在存储过程当中可以使用光标对结果进行一定的循环处理
2.使用 光标的使用包括光标的声明光标的打开数值的获取光标的关闭
-- 声明
declare 游标名称 cursor for select_statement
-- 打开语法
open 游标名称
-- 取值语法
fetch 游标名称 into decl_name.....
-- 关闭语法
close 游标名称;七.handler异常处理
1.介绍 在MYSQL当中针对一些错误机制进行处理的方法通过HANDLER的使用能够在MYSQL查询的过程当中避免一些错误类型的出现
2.语法
handler 异常处理声明declare (handler_action handler)for (condition_value) statement;handler_action:主要包括有三大部分
1.contitue 在错误出现之后继续之后的查询
2.exit 在错误出现之后不再进行之后的查询直接结束所有的查询
3.UNDO不建议condition_value主要包括以下的几个部分
mysql_error_code
condition_name
SQLWARNING
NOT FOUND 未查询到相应的数据
SQLEXCEPTION SQL查询错误同时的如果需要使用handler句柄进行异常处理首先需要考虑
1.如果发现错误了之后需要进行什么操作(condition_value)
2.这种错误是什么样的错误类型condition_valueTIPS:需要注意的一点对于各种声明顺序是变量声明游标声明handler声明的顺序