求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
要资料
 
 

mysql教程
MySQL快速学习入门
MySQL是什么
MySQL安装
MySQL示例数据库
MySQL导入示例数据库
MySQL基础教程
MySQL查询数据
MySQL WHERE语句
MySQL插入数据
MySQL更新表数据
MySQL删除表数据
MySQL创建与删除数据库
MySQL创建表
MySQL修改表结构
MySQL重命名表
MySQL数据类型
高级部分
MySQL技巧
MySQL存储过程
MySQL视图
MySQL触发器
MySQL管理
MySQL全文搜索
MySQL函数
应用程序连接
MySQL+Node.js连接和操作
Python+MySQL连接和操作
 
 

MySQL存储过程入门
632 次浏览
7次  

在本教程中,我们将逐步介绍如何使用CREATE PROCEDURE语句开发第一个MySQL存储过程。 另外,我们将向您展示如何从SQL语句调用存储过程。

编写第一个MySQL存储过程

我们将开发一个名为GetAllProducts()的简单存储过程来帮助您熟悉创建存储过程的语法。 GetAllProducts()存储过程从products表中选择所有产品。

启动 mysql 客户端工具并键入以下命令:

DELIMITER //
CREATE PROCEDURE GetAllProducts()
BEGIN
SELECT * FROM products;
END //
DELIMITER ;

让我们来详细地说明上述存储过程:

第一个命令是DELIMITER //,它与存储过程语法无关。 DELIMITER语句将标准分隔符 - 分号(;)更改为://。 在这种情况下,分隔符从分号(;)更改为双斜杠//。为什么我们必须更改分隔符? 因为我们想将存储过程作为整体传递给服务器,而不是让mysql工具一次解释每个语句。 在END关键字之后,使用分隔符//来指示存储过程的结束。 最后一个命令(DELIMITER;)将分隔符更改回分号(;)。

使用CREATE PROCEDURE语句创建一个新的存储过程。在CREATE PROCEDURE语句之后指定存储过程的名称。在这个示例中,存储过程的名称为:GetAllProducts,并把括号放在存储过程的名字之后。

BEGIN和END之间的部分称为存储过程的主体。将声明性SQL语句放在主体中以处理业务逻辑。 在这个存储过程中,我们使用一个简单的SELECT语句来查询products表中的数据。

在mysql客户端工具中编写存储过程非常繁琐,特别是当存储过程复杂时。 大多数用于MySQL的GUI工具允许您通过直观的界面创建新的存储过程。

例如,在MySQL Workbench中,您可以如下创建一个新的存储过程:

首先,右键单击Stored Procedures…并选择“Create Stored Procedure…”菜单项。

接下来,编写存储过程代码,然后单击Apply按钮

CREATE PROCEDURE `yiibaidb`.`GetAllProducts`()
BEGIN
SELECT * FROM yiibaidb.products;
END

然后,您可以在MySQL将其存储在数据库中之前查看代码。如果一切都没有问题,点击Apply按钮。如下所示 -

之后,MySQL将存储过程编译并放入数据库目录中; 单击Fished按钮完成。

最后,可以在yiibaidb数据库的例程下看到上面所创建的新存储过程。如下图所示 -

到此,我们已经成功地创建了一个存储过程。下面我们将学习如何使用它。

调用存储过程

要调用存储过程,可以使用以下SQL命令:

CALL STORED_PROCEDURE_NAME();

使用CALL语句调用存储过程,例如调用GetAllProducts()存储过程,则使用以下语句:

CALL GetAllProducts();

如果您执行上述语句,将查询获得products表中的所有产品。如下图所示 -

在本教程中,您已经学习了如何使用CREATE PROCEDURE语句编写一个简单的存储过程,并使用CALL语句从SQL语句中调用它。


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



632 次浏览
7次
 捐助