1. 是什么?
  1. 存储过程:SQL语句是先编译执行的,而存储过程经过编译后存储在数据库中,通过存储过程的名字给定参数调用执行,类似与java中封装的方法,避免重复的实现业务逻辑。
  1. 为什么要用存储过程:
  1. 优点:
  1. 增强了SQL语句的灵活性,
  2. 提高性能和效率:在网络的传输中,我们一般都是将数据取出来,通过网络传输到程序中进行判断,可能只是需要一个最终的判断,或者一个单个的值,大量的数据通过网络传输增加了网络的负载,所以要使用存储过程
  3. 可以对存储过程进行限制,避免没有授权的用户访问,保证了数据的安全。
  4. 避免了暴露表结构,和字段。
  1. 缺点;
  1. 不利于系统分层设计和维护
  2. 不利于数据库的迁移,在MySQL中写的存储过程在Oracle中就不能用了。
  1. 怎么玩?
  1. 语法规范:
  1. create procedure 名字 (in  a int,in b int): 创建存储过程,后边的是参数
  2. begin 和 end:开始和结束关键词
  3. call 名字(参数1,参数2):调用存储过程
  4. drop:procedure: 删除存储过程
  5. declare 局部变量名 类型 default 默认值:声明局部变量
  6. if 条件 then 执行语句 end if:流程控制语句,多个判断可以在
  7. set :进行复制操作。
  1. 控制流程书写
  2. 循环执行
  1. 面试:
  1. MySQL常见的函数:
  1. avg,count,max,min,sum