MySQL存储过程的查看与删除实例讲解

 更新时间:2023年03月09日 11:18:47   作者:霸道小明  
存储过程存储过程在创建之后,被保存在服务器上以供使用,直至被删除,下面这篇文章主要给大家介绍了关于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存储过程的查看与删除的文章就介绍到这了,更多相关MySQL存储过程查看删除内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL关联查询Join的实现原理和优化建议

    MySQL关联查询Join的实现原理和优化建议

    在平时的开发过程中,大家应该经常会用到join进行多个表的之间的关联查询,但是如果使用不合理的话,会导致查询性能下降,本文就MySQL中的关联查询的实现原理以及一些优化建议等内容做一个讲解,需要的朋友可以参考下
    2023-07-07
  • MySQL数据库如何给表设置约束详解

    MySQL数据库如何给表设置约束详解

    约束主要完成对数据的检验,保证数据库数据的完整性;如果有相互依赖数据,保证该数据不被删除,本篇文章教你如何给表设置约束
    2022-03-03
  • windows10+mysql8.0.11zip安装教程详解

    windows10+mysql8.0.11zip安装教程详解

    这篇文章主要介绍了windows10+mysql8.0.11zip安装教程详解,本文给大家介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下
    2018-05-05
  • 如何解决Mysql报错Deadlock found when trying to get lock;try restarting transaction问题

    如何解决Mysql报错Deadlock found when trying to

    这篇文章主要介绍了如何解决Mysql报错Deadlock found when trying to get lock;try restarting transaction问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • MySQL主从数据库搭建方法详解

    MySQL主从数据库搭建方法详解

    这篇文章主要介绍了MySQL主从数据库搭建方法,较为详细的分析了MySQL主从数据库搭建的原理、步骤与具体操作技巧,需要的朋友可以参考下
    2017-09-09
  • MySQL与PHP的基础与应用专题之数据完整性

    MySQL与PHP的基础与应用专题之数据完整性

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,本系列将带你掌握php与mysql的基础应用,本篇从数据完整性开始
    2022-02-02
  • MySQL数据库表分区注意事项大全【推荐】

    MySQL数据库表分区注意事项大全【推荐】

    这篇文章主要介绍了MySQL数据库表分区注意事项相关内容,比较全面,这里分享给大家,需要的朋友可以参考。
    2017-10-10
  • mysql提示Changed limits: max_open_files: 2048 max_connections: 1910 table_cache: 64的解决

    mysql提示Changed limits: max_open_files: 2048 max_connections:

    这篇文章主要介绍了mysql提示Changed limits: max_open_files: 2048 max_connections: 1910 table_cache: 64的解决,需要的朋友可以参考下
    2014-05-05
  • mysql5.7.17 zip 解压安装详细过程

    mysql5.7.17 zip 解压安装详细过程

    这篇文章主要为大家详细介绍了mysql5.7.17 zip 解压安装详细过程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • mysql 5.7.23 解压版安装教程图文详解

    mysql 5.7.23 解压版安装教程图文详解

    这篇文章主要介绍了mysql 5.7.23 解压版安装教程图文详解 ,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-10-10

最新评论