MYSQL预处理机制

1、mysql指令的普通处理流程

指客户端将要执行的SQL发送给服务器,服务器先进行编译后立刻执行

2、mysql指令预处理流程

预处理prepare:是指客户端将要执行的SQL先发送给服务器,服务器先进行编译,不执行。等到客户端要服务端执行时,发送一条执行指令,让服务器执行已经提前处理好的SQL指令。

 

当要执行多条相同或相似指令时,预处理机制可以节省很多编译时间

3、预处理的实现

  • 声明预处理:prepare 预处理名字 from '要执行的SQL语句';
  • 执行预处理:exec 预处理名字;
  • 销毁预处理:drop prepare 预处理名字;
prepare select_student from 'select * from students';
execute select_student;
drop prepare select_student;

4、预处理占位符

要预处理相似SQL语句的执行,需要用到占位符:?,预处理可以同时甚多个占位符

--声明带占位符的预处理
prepare select_student from 'select * from students where age between ? and ?';
--定义两个变量
set @min = 1;
set @max = 18;
--使用两个变量代替占位符执行SQL指令
execute select_student using @min,@max;

猜你喜欢

转载自www.cnblogs.com/chuanzi/p/10399643.html