My S QL My S QL概述
S QL基础
存储引擎
索引
S QL优化
视图/存储过程/触发器
My S QL管理
⽇志
视图
是一种虚拟存在的表。视图中的数据并不在数据库中实际
存在,只保存了查询的S QL逻辑,不保存查询结果
存储过程
存储过程是事先经过编译并存储在数据库中的一段 S QL
语句的集合,就是数据库 S QL 语言层⾯的代码封装与重
识图网
触发器
触发器是与表有关的数据库对象,指在
i nser t/u pd a t e/d ele t e 之前或之后,触发并执⾏触发器中
定义的S QL语句集合。触发器的这种特 性可以协助应⽤
在数据库端确保数据的完整性 , ⽇志记录 , 数据校验等操
特点
创建
调⽤
查看
删除
参数
游标
游标(C U RS O R)是⽤来存储查询结果集的数据类型 , 在
存储过程和函数中可以使⽤游标对结果集进⾏循环的处
理。游标的使⽤包括游标 的声明、OPE N、FET CH(数据
获取) 和 C LO S E
条件处理程序
消失的夫妻牙签谁搞的
可以⽤来定义在流程控制结构执⾏过程中遇到问题时相应
的处理步骤
存储函数
是有返回值的存储过程,存储函数的参数只能是I N类型
注:在命令⾏中,执⾏创建存储过程的S QL时,需要通过
关键字d el imit er指定S QL语句的结束符
作⽤
创建
查询
修改
删除
检查选项
更新视图包含以下任何一项,则该视图不可更新
当使⽤WIT H CH E C K OPTIO N⼦句创建视图时,My S QL
会通过视图检查正在更改的每个⾏,例如 插⼊,更新,
删除,以使其符合视图的定 义。 My S QL允许基于另一个
视图创建视图,它还会检查依赖视图中的规则以保持一致
性。为了确定检查的范围,my s q l提供了两个选项:
安装sklearnC A SC ADED(级联) 和 LO C AL ,默认值为 C A SC ADE
D 。
1.聚合函数或窗⼝函数(S UM()、 MI N()、 MAX()、
C OU N T()等)
2.DI S TI NC T
3.G R OUP BY
4.H AVI N G
5.U N IO N 或者 U N IO N ALL
D R OP VIEW [IF EXI S T S] 视图名称 [,视图名称];
⽅法一:crea t e [or re p lace] vi e w 视图名称 [(列名列表)]
as selec t 语句 [with [casca d e|local] c h ec k o pti on];
mysql查看所有存储过程⽅法⼆:ALTE R VIEW 视图名称[(列名列表)] A S S ELE C T
语句 [WIT H[C A SC ADED|LO C AL]CH E C K OPTIO N];
查看创建视图语句:s h o w crea t e vi e w 视图名称;
查看视图数据
类型
创建
查看
删除
selec t * f ro m 视图名称;android退出整个程序
D R OP T R IGG
E R [sc h e m a_na m e.]t r i gger_na m e; -- 如
果没有指定t r i gger_na m e,默认为当前数据库
SH OW T R IGGE RS;
触发器是与表有关的数据库对象,指在
i nser t/u pd a t e/d ele t e 之前或之后,触发并执⾏触发器中
定义的S QL语句集合。触发器的这种特 性可以协助应⽤
在数据库端确保数据的完整性 , ⽇志记录 , 数据校验等操
C ALL 存储过程名称([参数列表]);
简单
安全
数据独⽴视图可帮助⽤⼾屏蔽真实表结构变化带来的影响
crea t e [or re p lace] vi e w 视图名称[(列名列表)] as
selec t 语句 [with [casca d e|local] c h ec k o pti on];
数据库可以授权,但不能授权到数据库特定⾏和特定的列
上。通过视图⽤⼾只能查询和修改他们所能⻅到的数据
视图不仅可以简化⽤⼾对数据的理解,也可以简化他们的
操作。那些被经常使⽤的查询可以被定义为视图,从⽽使
得⽤⼾不必为以后的操 作每次指定全部的条件。
语法
DE C LA R E h an d ler_ac ti on H A N DLE R FO R
con diti on_v alue [,con diti on_v alue].....s t a t e m en t;
h an d ler_ac ti on
C O N TI N UE:继续执⾏当前程序
EXIT:终⽌当前程序
con diti on_v alue
S QL S TATE s q ls t a t e_v alue:状态码,如02000
S QLWA RN I N G:所有以01开头的S QL S TATE代码的简写
S QLEX C EPTIO N:所有没有被S QLWA RN I N G或N OT
FOU N D捕获的S QL S TATE的简写
CR EATE FU NC TIO N 存储函数名称([参数列表])
R ETU RNS typ e [c h arac t er i s ]
BEGI N
-- S QL语句
R ETU RN ...;
E N D;
c h arac t er i s ti c说明:
DETE R MI N I S TI C:相同的输⼊参数总是产⽣相同的结果
N O S QL:不包含S QL语句
R EAD S S QL DATA:包含读取数据的语句,但不包含写
⼊数据的语句
声明
打开
关闭
I N
OUT
I N OUT
⽤法
C LO S E 游标;
既可以作为输⼊参数,也可以作为输出参数
该类参数作为输出,可以作为返回值
该类参数作为输⼊,需要调⽤时传⼊值
FET CH 游标名称 I N TO 变量[,变量];
DE C LA R E 游标名称 C U RS O R FO R 查询语句;
D R OP P R O C EDU R
E [I源码pptphp系统
F EXI S T S] 存储过程名称;
-- 指定数据库的存储过程及状态信息
S ELE C T * F R OM I N FO R MATIO N_SCH EMA.R OUTI N E S
W H E R E R OUTI N E_SCH EMA='XXXX';
-- 查询某个存储过程
SH OW CR EATE P R O C EDU R E 存储过程名称;
CR EATE P R O C EDU R E 存储过程名称([I N/OUT/I N OUT
参数名 参数类型])
BEGI N
-- S QL语句
E N D;
CR EATE P R O C EDU R E 存储过程名称([参数列表])
BEGI N
-
- S QL语句
E N D;
封装,复⽤
可以接收参数,也可以返回数据
减少⽹络交互,效率提升

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。