????
许多做开采、数据库关联做事的小同伴或者常常会用到MySQL的储备流程、准时器、触发器这些高等机能,然而做数据剖析也许数据办理,咱们也须要管制这些本领,来办理特定的营业题目。譬如:做主动化报表,假如数据须要天天及时革新(增量爬虫)、准时策画某个营业目标、想要及时监控数据库表中的数据增、删、改环境等。
文章纲要一、储备流程1、啥是储备流程,有甚么用?流程:将多少条SQL语句封装起来,起个名字
储备流程:咱们将此流程储备在数据库中,有点相似于编程顶用到的函数,差别是函数有返回值,而流程没有返回值,雷同点是将代码封装可复用,可传参,挪用便可履行。
长处:①代码封装可复用②也许采纳、返回参数③裁减网络交互、提拔效率
2、储备流程何如操纵缔造
createprocedure称号()beginsql语句;end
观察
showprocedurestatus;
挪用
call称号();
简略
dropprocedureifexists称号;3、储备流程中的变量
变量的品种和界说
在SQL中变量分为两种:
①系统变量:
②自界说变量:
储备流程是也许编程的,象征着也许操纵变量、抒发式、管制布局,在储备流程中,表明变量用declare
格式:declare变量名变量范例
变量运算与管制布局
变量的赋值,有两种方法:
①set变量名=值
②set变量名:=值
if
else管制布局语法格式
if前提1thensql语句;elseif前提2thensql语句;elsesql语句;endif
储备流程中的参数传送
为了让储备流程越发灵敏,也许传送参数,参数分为三种:
①in:参数做为输入,调历时传入
②out:参数做为输出,也许做为返回值
③inout:参数便可传入又可输入
格式:in
out
inout参数名参数范例
储备流程中操纵轮回
while轮回格式:
while前提dosql语句;endwhile
打印1-之和
带输入参数n,求1-n之和
请求带输入参数n,和输出参数total,求1-n之和
请求age既是输入又是输出变量,传入一个年事,就增长20
二、准时器1、啥是准时器,怎样用?所谓准时器,便是准时地去运转指定的函数和代码,MySQL的准时器便是MySQL的变乱。
在开采流程中常常会碰到云云一个题目:天天或每月需准时去履行一条SQL语句或革新或简略数据。在我不熟悉MySQL准时器时,是用Python程序代码去职掌数据表,再将Python程序,放到效劳器跑准时职责。此刻用准时器,齐备也许在数据层面职掌了,特别便利。
语法布局
createevent[ifnotexists]变乱名[definer=user]可选参数。执?变乱的??,不指定默许便是暂时??onschedule准时工夫配置。界说变乱执?的频次,也许指定详细工夫也也许周期性履行[on