如何在phpMyAdmin中查看我的存储过程?

时间:2011-05-24 19:10:19

标签: mysql sql stored-procedures phpmyadmin

我在phpMyAdmin

中创建了一个存储过程
CREATE PROCEDURE Sample()
SELECT * FROM feedback

我在哪里可以查看此程序?如果在phpMyAdmin中无法实现,那么具有编写,存储和查看存储过程,表等功能的一些优秀程序是什么?

11 个答案:

答案 0 :(得分:76)

在phpmyadmin中查看存储过程:

查询:

SELECT routine_definition
FROM information_schema.routines
WHERE 
routine_name = 'procedure_name' AND routine_schema = 'databasename';

以下是如何通过phpmyadmin实现目标。

phpmyadmin screenshot

routines中提供了 phpmyadmin 选项。在您拥有至少一个存储过程之前,该链接在PHPmyadmin中不可见。请参阅上面的图片,然后点击routines标签下的 structure 链接。

答案 1 :(得分:19)

select routine_definition
from information_schema.routines
where routine_schema = 'db_name'
and routine_name = 'sp_name';

答案 2 :(得分:6)

answer显示了如何在没有脚本的情况下查看它们。

“创建存储过程后,它将显示在表格下方的Routines字段集中(在Structure选项卡中),您可以轻松地更改/删除它。”

答案 3 :(得分:5)

您可以选择“information_schema”作为数据库,并查询表“例程”中的所有条目,以防您不想每次都使用SQL。

答案 4 :(得分:4)

简而言之,你可以使用这个sql

SHOW CREATE PROCEDURE Sample;

此处有更多信息

更新:如果您不记得名称,可以查询INFORMATION_SCHEMA数据库以查看所有程序(如果您记住部分名称,可以在ROUTINE_NAME上使用LIKE)

SELECT ROUTINE_TYPE, ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA='dbname';

答案 5 :(得分:3)

show procedure status;      -- will show you the stored procedures.
show create procedure MY_PROC;  -- will show you the definition of a procedure. 
help show;          -- show all the available options for the show command.

答案 6 :(得分:3)

在phpMyAdmin下,单击您的数据库(不在桌面上),然后单击“+ Routines”。

您可以编辑/删除所有存储过程

答案 7 :(得分:3)

在PHPMYADMIN enter image description here 3.5.2.2版本中,您只需单击顶部的例程链接。见附图

答案 8 :(得分:2)

不要忘记,在较小的屏幕中,您必须使用“更多”菜单。 phpMyAdmin

答案 9 :(得分:1)

单击home,数据库后,我创建了该过程的数据库。它打开该数据库的结构窗口。 在菜单栏中:“结构,sql,搜索,...”应该有例程,如果不是那么点击右边的项目叫做more,它应该在那里(诅咒我的上网本没有24英寸的屏幕)。

要确保您的数据库具有单击导出的过程,请选择“自定义 - 显示所有可能的选项”,在“输出:”下选择“以文本形式查看输出”,在“格式特定选项:”下选择“结构” (在“转储表”下),确保选择“添加CREATE PROCEDURE / FUNCTION / EVENT语句”(在“转储表”下稍微一点)。 现在点击Go,你的程序应该出现

使用: 版本信息:3.5.2,最新稳定版本:3.5.2.2

答案 10 :(得分:1)

使用Adminer data-base interface。与PHPMyAdmin不同,它完全能够查看,编辑和调用存储过程,其中PHPMyAdmin失败并出现大量错误(当您尝试运行SQL语句创建错误时出错,当您尝试调用错误时出错,当您尝试更改时出错)一个已经创建的,除了它无法列出定义的那些...我真的很想知道PHPMyAdmin在将它提交给数据库之前用SQL查询文本做什么,这太可怕了。

只需在您的Web服务器的某个位置复制Adminer PHP文件,打开相应的URL。登录并选择数据库后,在表列表下方,您将看到一个存储过程列表,其中包含一个“呼叫”按钮。单击过程链接,您还可以更改(编辑)它。

老实说,我建议你放弃使用PHPMyAdmin,它完全无法正确处理这个问题(请注意,SQLBuddy也会以某种方式失败)。

- 编辑 -

为完整起见,您还可以使用此SQL查询列出存储过程:

show procedure status;

或者这个,检索名称已知的程序:

show procedure status where Name = 'name';