MySQL存储过程的查看与删除方法是什么

57次阅读
没有评论

共计 1743 个字符,预计需要花费 5 分钟才能阅读完成。

这篇文章主要介绍“MySQL 存储过程的查看与删除方法是什么”的相关知识,丸趣 TV 小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL 存储过程的查看与删除方法是什么”文章能帮助大家解决问题。

一、查看存储过程

存储过程创建以后,用户可以通过 SHOW STATUS 语句来查看存储过程的状态,也可以通过 SHOW CREATE 语句来查看存储过程的定义。用户也可以通过查询 information_schema 数据库下的 Routines 表来查看存储过程的信息。本节将详细讲解查看存储过程的状态与定义的方法。

1.SHOW STATUS 语句查看存储过程

在 MySQL 中,可以通过 SHOW STATUS 语句。其基本语法形式如下:

 SHOW PROCEDURE STATUS [ like ‘pattern] ;

参数 PROCEDURE 表示查询存储过程;

参数 LIKE pattern 用来匹配存储过程的名称。 

show procedure status like  proc%

2. 使用 SHOW CREATE 语句查看存储过程的定义

在 MySQL 中,可以通过 SHOW CREATE 语句查看存储过程的状态,语法形式如下: 

SHOW CREATE PROCEDURE proc_name ;|\G

参数 PROCEDURE 表示查询存储过程;

参数 proc_name 表示存储过程的名称。 

Ⅰ使用分号结束

show create procedure proc_age;

Ⅱ使反斜杠结束(使用反斜杠条理更清晰)

3、从 information_schema.Routine 表中查看存储过程的信息

存储过程和函数的信息存储在 information_schema 数据库下的 Routines 表中。可以通过查询该表的记录来查询存储过程和函数的信息。其基本语法形式如下: 

SELECT * FROM information_schema.Routines
 Where ROUTINE_NAME = ‘proc_name

字段 ROUTINE_NAME 是 Routines 存储存储过程和函数的列名称;

参数 proc_name 表示存储过程或函数的名称。

select * from information_schema.Routines 
 where routine_name =  proc_age

或者单独查看存储过程的语句  

select routine_definition from information_schema.Routines 
 where routine_name =  proc_age

二、存储过程的删除

在 MySQL 中删除存储过程通过 SQL 语句 DROP 完成: 

DROP PROCEDURE proc_name;

关键字 DROP PROCEDURE 用来表示实现删除存储过程;参数 proc_name 表示所要删除的存储过程名称。 

例如

附:存储过程修改

尽管 MySQL 数据库支持对存储过程的修改,但是我们依旧不可以修改存储过程中的内容,也不能修改存储过程的名称。如果想要修改存储过程的内容,只能删除原有的存储过程,然后再重新写一个存储过程;如果想要修改存储过程的名称,只能删除原有的存储过程,然后重新创建一个新的存储过程,并且把原有存储过程的内容写入到新的存储过程名称里面。

MySQL 只支持修改存储过程的一些特性,该修改命令 SQL 示例如下:

alter procedure【存储过程名】【存储过程特性】;

可以写入的存储过程特性主要有以下 6 种:

2、no sql。表示子程序不包含 SQL 语句。

3、reads sql data。表示子程序中包含读数据的 SQL 语句。

4、modifies sql data。表示子程序中包含写数据的 SQL 语句。

5、sql security define 或 sql security invoke。如果是 define,则表示该存储过程只有定义者自身才可以执行,如果是 invoke,则表示调用者可以执行。

6、comment【注释信息】。表示向该存储过程添加注释信息。

关于“MySQL 存储过程的查看与删除方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注丸趣 TV 行业资讯频道,丸趣 TV 小编每天都会为大家更新不同的知识点。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-13发表,共计1743字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)