如何在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。
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;
更多信息在这里
- http://dev.mysql.com/doc/refman/5.0/en/show-create-procedure.html
- http://dev.mysql.com/doc/refman/5.0/en/faqs-stored-procs.html#qandaitem-B-4-1-6
更新:如果你不记得名字,你可以查询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';
不要忘记,在较小的屏幕上,你将不得不使用“更多”菜单。