Mysql 我不能';我不理解存储过程的重要性

Mysql 我不能';我不理解存储过程的重要性,mysql,sql-server,stored-procedures,Mysql,Sql Server,Stored Procedures,今天我学习了如何在MySQL中创建存储过程 DELIMETER // CREATE PROCEDURE new(IN first INT) BEGIN SELECT * FROM table WHERE first_id= first; END // 假设我创建了这个,并从PHP调用它调用新的('4') 或者我将sql命令直接写入PHP $mysqli->query("SELECT * FROM table WHERE first_id= $first"); 我的PHP中有2

今天我学习了如何在MySQL中创建存储过程

DELIMETER //
CREATE PROCEDURE new(IN first INT)
BEGIN 
    SELECT * FROM table WHERE first_id= first;
END //
假设我创建了这个,并从PHP调用它<代码>调用新的('4') 或者我将sql命令直接写入PHP

$mysqli->query("SELECT * FROM table WHERE first_id= $first");

我的PHP中有20个sql命令,我正在将它们作为存储过程复制到phpmyadmin中。它们没有下降。现在我从存储过程中得到了什么?就几封信?或谢谢你的帮助

存储过程是在数据库和服务器端逻辑之间构建干净抽象层的好方法。此外,存储过程允许您确切地指定要导出的数据类型(数据类型和可能的长度),这有助于提高应用程序的安全性(至少在“从数据库访问数据”这一点上).

如果您想知道创建存储过程的意义是什么,那就是减少复制和粘贴代码的工作量。这与将任何语言中重新编写的代码移动到函数中的原因大致相同。假设您有一个100行的查询代码块,它生成临时表、处理数据、循环等,并且在您的pogram中重复5次。如果你发现了一个bug,或者想让它运行得更好,该怎么办?您必须将它的所有5个实例更改为完全相同的,使用一个存储过程,您只需在一个位置执行此操作即可更新所有5个实例。在编程中执行此操作的一个实际示例可能是将您在自己的函数中使用的每个mysql PHP函数包装起来并调用它。在开始时,您可能一直在使用
mysql\u*
函数,但现在它已贬值,您需要升级到
mysqli\u*
PDO
。您认为您调用mysql查询函数的次数是多少?想更新其中的每一个并冒丢失一个的风险吗?或者只需编辑一次包装器函数即可影响它们all@BenN不,我把它弄红了。它没有回答我的问题。我的问题是我应该如何使用SP.@Memor-X,但是每个sql命令都是不同的