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

我在phpMyAdmin中创build了一个存储过程

CREATE PROCEDURE Sample() SELECT * FROM feedback 

我可以在哪里查看这个程序? 如果在phpMyAdmin中不可能的话,有什么好的程序能够编写,存储和查看存储过程,表等等?

在phpmyadmin中查看存储过程:

查询:

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

以下是如何到达phpmyadmin。

phpmyadmin截图

routines选项在phpmyadmin可用。 直到您有至less一个存储过程,该链接在PHPmyadmin中不可见。 看到上面的图像,然后单击structure选项卡下的routines链接。

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

这个答案显示如何查看他们没有脚本。

“一旦你创build了存储过程,它就会出现在表格下方的Routines字段集中(在Structure选项卡中),你可以很容易地更改/删除它。

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

总之你可以使用这个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'; 

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

在那里你可以编辑/删除所有的存储过程

 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. 

在PHPMYADMIN 在这里输入图像说明 3.5.2.2版本,你只需点击顶部的例程链接。 见附图

在点击home,数据库之后,我创build了数据库。它打开了该数据库的结构窗口。 在菜单栏中:“结构,SQL,search,…”应该有例程,如果不是,那么点击正确的项目更多,它应该在那里(诅咒我的上网本没有一个24英寸的屏幕)。

要确保你的数据库有程序点击导出,select“自定义 – 显示所有可能的选项”,在“输出:”下select“查看输出为文本”,在“特定格式选项:”下select“结构” “转储表”),请确保select“添加CREATE PROCEDURE / FUNCTION / EVENT语句”(仅在“转储表”下方)。 现在点击Go,你的程序就会显示出来

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

使用Adminer数据库接口 。 与PHPMyAdmin不同的是,它完全能够查看,编辑和调用存储过程,PHPMyAdmin在出现大量错误时失败(当您尝试运行SQL语句创build一个时出错,尝试调用时发生错误,尝试更改时发生错误一个已经创build,除了无法列出定义的…我真的不知道什么PHPMyAdmin用SQL查询文本之前,它提交给数据库,这是可怕的)。

只需在您的Web服务器的某个位置复制Adminer PHP文件,打开相应的URL。 在login并select数据库后,在列表下方,您将看到一个存储过程列表,并带有“呼叫”button。 点击过程链接,你也可以改变(编辑)它。

老实说,我build议你放弃PHPMyAdmin,它是完全无法正确处理这个(注意,SQLBuddy也以某种方式失败)。

– 编辑 –

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

 show procedure status; 

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

 show procedure status where Name = 'name'; 

不要忘记,在较小的屏幕上,你将不得不使用“更多”菜单。 phpMyAdmin的