从客户端发起请求到服务端
client ==>连接层 ==>服务层==>引擎层==>存储层 server
连接层:连接与线程处理,这一层并不是MySQL独有,一般的基于C/S架构的都有类似组件,比如连接处理、授权认证、安全等。
服务层:包括缓存查询、解析器、优化器,这一部分是MySQL核心功能,包括解析、优化SQL语句,查询缓存目录,内置函数(日期、时间、加密等函数)的实现。
引擎层:负责数据存储,存储引擎的不同,存储方式、数据格式、提取方式等都不相同,这一部分也是很大影响数据存储与提取的性能的;对存储层的抽象。
存储层:存储数据,文件系统。
Mysql存储过程
1.创建存储过程语法(格式)
解析:
2.存储过程内具体语法与逻辑
A.定义变量语法:
注:可以在参数类型后面加 DEFAULT NULL; 来设置初始值。
B.变量赋值:
方式1(直接对变量进行赋值):
方式2(sql查询的结果直接赋值给变量):
方式3(sql查询的结果直接赋值给多个变量):
c.逻辑判断:
D.游标,(LOOP)循环:
3.存储过程的调用
4.删除存储过程
5.注意事项
存储过程中的分号()很重要,尽量不要省略。
1)SELECT ID,CASE WHEN A>B THEN A ELSE CASE WHEN B>C THEN B ELSE C END END FROM TABLE_NAME2)SEL ID,COUNT(ID) FROM TABLE_NAME WHERE ID IS NULL GROUP BY ID
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)