存儲過程是數據庫定義sql語句集合,經過編譯存儲在數據庫中,指定存儲過程的名字並賦予參數實現。使用存儲過程可以減少網絡流量,加快sql執行速度,在程序中調用多次減少sql語句的編寫,對存儲過程權限的分配來提高數據庫的安全性。
mysql存儲過程的創建格式:
create procedure sp_name([proc_parameter[,...]])
[characteristic ...] routine_body
begin
sql
end
存儲過程的調用 call sp_name([proc_parameter[,...]])
開發場景中用戶登錄網站查看個人信息會看到對應的信息與登錄記錄,考慮多表操作,使用存儲過程來提高sql執行效率,減少網絡傳輸。
1.建立會員信息存儲過程
create member_info(uid,int)
begin
select memer_name , member_age ,member_phone as m left join member_log as l on a.mid=l.lid;
end
2.服務器端調用存儲過程
$db=new mysqli($host,$user,$password);
mydqli_query($db,"set names utf8");
$memberInfo=$db->query("call member_info($uid)");