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小时内删除。
发表评论