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;
