当前位置: 首页 > news >正文

MySQL查看存储过程和存储函数

【图书推荐】《MySQL 9从入门到性能优化(视频教学版)》-CSDN博客


《MySQL 9从入门到性能优化(视频教学版)(数据库技术丛书)》(王英英)【摘要 书评 试读】- 京东图书 (jd.com)

MySQL9数据库技术_夏天又到了的博客-CSDN博客

MySQL中存储了存储过程和存储函数的状态信息,用户可以使用SHOW STATUS语句或SHOW CREATE语句来查看,也可直接从系统的information_schema数据库中查询。本节将通过实例来介绍这3种方法。

8.3.1  使用SHOW STATUS语句查看存储过程和存储函数的状态

SHOW STATUS语句可以查看存储过程和存储函数的状态,其基本语法结构如下:

SHOW {PROCEDURE | FUNCTION} STATUS [LIKE 'pattern']

这个语句是一个MySQL的扩展,返回子程序的特征,如数据库、名字、类型、创建者及创建和修改日期。如果没有指定样式,那么根据使用的语句,所有存储程序或存储函数的信息都会被列出。其中,PROCEDURE和FUNCTION分别表示查看存储过程和存储函数;LIKE语句表示匹配存储过程或存储函数的名称。

【例8.24】SHOW STATUS语句示例如下:

mysql> SHOW PROCEDURE STATUS LIKE 'C%'\G
*** 1. row ***Db: test_dbName: CountProc
Type: PROCEDUREDefiner: root@localhostModified: 2018-11-21 13:52:28Created: 2018-11-21 13:52:28Security_type: DEFINERComment:
character_set_client: gbk
collation_connection: gbk_chinese_ciDatabase Collation: utf8mb4_0900_ai_ci

“SHOW PROCEDURE STATUS LIKE 'C%'\G”语句获取数据库中所有名称以字母“C”开头的存储过程的信息。通过上面的语句可以看到:这个存储过程所在的数据库为test_db、名称为CountProc等一些相关信息。

8.3.2  使用SHOW CREATE语句查看存储过程和存储函数的定义

除了SHOW STATUS之外,MySQL还可以使用SHOW CREATE语句查看存储过程和存储函数的状态。语法格式如下:

SHOW CREATE {PROCEDURE | FUNCTION} sp_name

这个语句是一个MySQL的扩展,类似于SHOW CREATE TABLE,它返回一个可用来重新创建已命名子程序的确切字符串。PROCEDURE和FUNCTION分别表示查看存储过程和存储函数;sp_name参数表示匹配存储过程或存储函数的名称。

【例8.25】SHOW CREATE语句示例如下:

mysql> SHOW CREATE FUNCTION test_db.CountProc2 \G
*************************** 1. row ***************************Function: CountProc2sql_mode: STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTIONCreate Function: CREATE DEFINER=`root`@`localhost` FUNCTION `CountProc2`(sid INT) RETURNS int(11)
BEGIN
RETURN (SELECT COUNT(*) FROM fruits WHERE s_id = sid);
END
character_set_client: gbk
collation_connection: gbk_chinese_ciDatabase Collation: utf8mb4_0900_ai_ci

通过上面的语句可以看到:存储函数的名称为CountProc2、sql_mode为sql,以及数据库设置的一些信息。

8.3.3  从information_schema.Routines表中查看存储过程和存储函数的信息

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

SELECT * FROM information_schema.Routines 
WHERE ROUTINE_NAME=' sp_name ' ;

其中,ROUTINE_NAME字段中存储的是存储过程和存储函数的名称;sp_name参数表示存储过程或存储函数的名称。

【例8.26】从Routines表中查询名称为CountProc2的存储函数的信息,SQL语句如下:

SELECT * FROM information_schema.Routines WHERE ROUTINE_NAME='CountProc2'  AND  ROUTINE_TYPE = 'FUNCTION' \G

语句执行如下:

mysql> SELECT * FROM information_schema.Routines WHERE ROUTINE_NAME='CountProc2'  AND  ROUTINE_TYPE = 'FUNCTION' \G
*************************** 1. row ***************************SPECIFIC_NAME: CountProc2ROUTINE_CATALOG: defROUTINE_SCHEMA: test_dbROUTINE_NAME: CountProc2ROUTINE_TYPE: FUNCTIONDATA_TYPE: int
CHARACTER_MAXIMUM_LENGTH: NULLCHARACTER_OCTET_LENGTH: NULLNUMERIC_PRECISION: 10NUMERIC_SCALE: 0DATETIME_PRECISION: NULLCHARACTER_SET_NAME: NULLCOLLATION_NAME: NULLDTD_IDENTIFIER: int(11)ROUTINE_BODY: SQLROUTINE_DEFINITION: BEGIN
RETURN (SELECT COUNT(*) FROM fruits WHERE s_id = sid);
ENDEXTERNAL_NAME: NULLEXTERNAL_LANGUAGE: SQLPARAMETER_STYLE: SQLIS_DETERMINISTIC: NOSQL_DATA_ACCESS: CONTAINS SQLSQL_PATH: NULLSECURITY_TYPE: DEFINERCREATED: 2018-11-21 16:57:09LAST_ALTERED: 2018-11-21 16:57:09SQL_MODE: STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTIONROUTINE_COMMENT:DEFINER: root@localhostCHARACTER_SET_CLIENT: gbkCOLLATION_CONNECTION: gbk_chinese_ciDATABASE_COLLATION: utf8mb4_0900_ai_ci

在information_schema数据库下的Routines表中,存储了所有存储过程和存储函数的定义。使用SELECT语句查询Routines表中的存储过程和存储函数的定义时,一定要使用ROUTINE_NAME字段指定存储过程或存储函数的名称;否则,将查询出所有的存储过程或存储函数的定义。当存储过程和存储函数名称相同时,就需要同时指定ROUTINE_TYPE字段表明查询的是哪种类型的存储程序。

相关文章:

MySQL查看存储过程和存储函数

【图书推荐】《MySQL 9从入门到性能优化(视频教学版)》-CSDN博客 《MySQL 9从入门到性能优化(视频教学版)(数据库技术丛书)》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) MySQL9数据库技术_夏天又到了…...

从零到一:开发并上线一款极简记账本小程序的完整流程

从零到一:开发并上线一款极简记账本小程序的完整流程 目录 前言需求分析与功能设计 2.1 目标用户分析2.2 核心功能设计2.3 技术栈选择 开发环境搭建 3.1 微信开发者工具安装与配置3.2 项目初始化3.3 版本控制与协作工具 前端开发 4.1 页面结构与布局4.2 组件化开发…...

卷积神经网络实战人脸检测与识别

文章目录 前言一、人脸识别一般过程二、人脸检测主流算法1. MTCNN2. RetinaFace3. CenterFace4. BlazeFace5. YOLO6. SSD7. CascadeCNN 三、人脸识别主流算法1.deepface2.FaceNet3.ArcFace4.VGGFace5.DeepID 四、人脸识别系统实现0.安装教程与资源说明1. 界面采用PyQt5框架2.人…...

【面试题系列】Java 多线程面试题深度解析

本文涉及Java 多线程面试题,从基础到高级,希望对你有所帮助! 一、基础概念类 1. 请简述 Java 中线程的几种状态及其转换条件 题目分析:这是多线程基础中的基础,考查对线程生命周期的理解,在多线程编程中&…...

【C语言】左旋字符串(三种实现方式)

题目: 实现一个函数,可以左旋字符串中的k个字符。 例如: ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB 方法一: 我们画个图分析一下: 基本逻辑: 就是我们每一次旋转之前,我们就取出…...

数论补充 之 前后缀分解问题

文章目录 [0,i-1] 和 [i1,n-1] 共同作用3334,数组的最大因子得分 对于前缀分解问题,我愿把它分为几个大问题:[0,i] 或 [i,n-1] 或 [l,r],或 [0,i-1] 和 [i1,n-1] 共同作用的问题 [0,i-1] 和 [i1,n-1] 共同作用 3334,数组的最大因子得分 3334,数组的最大…...

IoTDB 集群节点 IP 改变,如何更新集群

问题 问题1:如果 IoTDB 配置的时候用的 IP,没有用 hostname,后面 IP 修改了,历史数据需要重新导吗? 问题2:如果现场运行 IoTDB 半年,电脑 IP 要改的话,半年的数据要导出来再导入么…...

【AI系列】从零开始学习大模型GPT (2)- Build a Large Language Model (From Scratch)

前序文章 【AI系列】从零开始学习大模型GPT (1)- Build a Large Language Model (From Scratch) Build a Large Language Model 背景第1章:理解大型语言模型第2章:处理文本数据第3章:编码Attention机制什么是Attention机制?Attention机制的基本原理数学表示应用总结为什么要…...

webshell通信流量分析

环境安装 Apatche2 php sudo apt install apache2 -y sudo apt install php libapache2-mod-php php-mysql -y echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php sudo ufw allow Apache Full 如果成功访问info.php&#xff0c;则环境安…...

数据可视化+SpringBoot+协同过滤推荐算法的美食点餐管理平台

感兴趣的可以先收藏起来&#xff0c;还有大家在毕设选题&#xff0c;项目以及论文编写等相关问题都可以给我留言咨询&#xff0c;我会一一回复的&#xff0c;希望帮助到更多的人。 背景分析 在当今数字化浪潮席卷全球的时代&#xff0c;餐饮行业也正经历着深刻的变革&#xf…...

DeepSeek 关联 Word 使用教程:解锁办公新效率

在当今数字化办公时代&#xff0c;将强大的人工智能模型与常用办公软件相结合&#xff0c;能显著提升工作效率。DeepSeek 作为一款先进的人工智能工具&#xff0c;若能与广泛使用的办公软件 Word 实现关联&#xff0c;可在文档撰写、编辑、内容优化等诸多方面为用户带来极大便利…...

[极客大挑战 2019]Havefun1

[极客大挑战 2019]Havefun1 代码审计发现 根据代码逻辑&#xff0c;要求传入’cat’参数&#xff0c;值为’dog’时执行if的操作&#xff0c;所以构造参数: ?catdog获得flag...

基于Swift实现仿IOS闹钟

仿 iOS 系统闹钟 添加闹钟效果图 收到通知效果图 更新日志 2018.09.12 由于 iOS 系统限制了注册本地推送的数量&#xff0c;最大的注册量为 64 条&#xff0c;且一旦超出 64 条&#xff0c;所有的推送都将失效&#xff0c;故而在添加推送的时候做了一个判断&#xff0c;超过…...

Threadlocal的实现原理

文章目录 ThreadLocal与Thread关系分析Threadlocal 不支持继承性lnheritableThreadLocal 类 ThreadLocal与Thread关系分析 由该图可知&#xff0c; Thread 类中有一个 threadLocals 和一个 inheritableThreadLocals &#xff0c; 它们 都是 ThreadLocalMap 类型 的变量 &#x…...

线程池处理异常

线程池在提交的任务在处理过程中发生了异常&#xff0c;却没有捕获到&#xff0c;导致异常只是输出在控制台&#xff0c;这通常需要把异常记录下来1、通过观察ThreadGroup的构造方法知道&#xff0c;当调用线程组的构造方法时&#xff0c;会获取当前线程所属的线程组&#xff0…...

RabbitMQ配置SSL证书

配置阿里云服务器RabbitMQ-SSL证书【windows】 文章目录 配置阿里云服务器RabbitMQ-SSL证书【windows】1. 证书下载2. 系统中添加证书&#xff08;不知道是不是必要的&#xff09;3. OpenSSL下载4. ca、server证书及私钥提取5. RabbitMQ-SSL证书配置6. 参考博客 1. 证书下载 进…...

.NET 9.0 的 Blazor Web App 项目,进度条 <progress> 组件使用注意事项

一、执行过程中&#xff0c;要刷新 进度条 的显示&#xff0c;需要 延时、释放&#xff0c;否则进度条不 实时 更新&#xff0c;最后一下到 100% // 延时&#xff0c;释放给前端&#xff1a;【必须】&#xff0c;否则进度条不 实时 更新&#xff0c;最后一下到 100await Task.D…...

第J7周:对于ResNeXt-50算法的思考

目录 FROM思考 FROM &#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 &#x1f4cc;你需要解决的疑问&#xff1a;这个代码是否有错&#xff1f;对错与否都请给出你的思考 &#x1f4cc;打卡要求&#xff1a…...

【第2章:神经网络基础与实现——2.3 多层感知机(MLP)的构建与调优技巧】

在当今科技飞速发展的时代,人工智能早已不是一个陌生的词汇,它已经渗透到我们生活的方方面面,从智能语音助手到自动驾驶汽车,从图像识别到自然语言处理。而支撑这一切的核心技术之一,就是神经网络。作为机器学习领域的璀璨明星,神经网络已经在众多任务中取得了令人瞩目的…...

【Elasticsearch】keyword分析器

Elasticsearch 中的keyword分析器是一种非常特殊的分析器&#xff0c;它的行为与其他常见的分析器&#xff08;如standard、whitespace等&#xff09;截然不同。keyword分析器的核心功能是将整个输入字符串作为一个单一的标记&#xff08;token&#xff09;返回&#xff0c;而不…...

Diablo Edit2深度解析:技术架构与安全使用的暗黑2存档编辑完全手册

Diablo Edit2深度解析&#xff1a;技术架构与安全使用的暗黑2存档编辑完全手册 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit Diablo Edit2是一款功能强大的开源暗黑破坏神2存档编辑器&#xff0…...

【C语言】16 位的值,通过几种不同的方式将其拆分为高 8 位和低 8 位

当我们想要将一个16位的 Register_Value 拆分成高8位和低8位&#xff0c;并存储到 Send_Data_Uart5 数组中时&#xff0c;有几种常见的方法可以实现。让我们逐一优化和详细分析每种方法&#xff1a;方法 1: 使用位移和位掩码&#xff08;常用方法&#xff09;代码语言&#xff…...

3分钟掌握SPT-AKI存档编辑器的完整使用指南

3分钟掌握SPT-AKI存档编辑器的完整使用指南 【免费下载链接】SPT-AKI-Profile-Editor Программа для редактирования профиля игрока на сервере SPT-AKI 项目地址: https://gitcode.com/gh_mirrors/sp/SPT-AKI-Profile-Edi…...

77、【Agent】【OpenCode】bash 工具提示词(持久化)(一)

【声明】本博客所有内容均为个人业余时间创作&#xff0c;所述技术案例均来自公开开源项目&#xff08;如Github&#xff0c;Apache基金会&#xff09;&#xff0c;不涉及任何企业机密或未公开技术&#xff0c;如有侵权请联系删除 背景 上篇 blog 【Agent】【OpenCode】用户对…...

别再只记RTSP地址了!一份超全的安防摄像头(海康/大华/宇视等)OpenCV连接配置清单与排错手册

安防摄像头RTSP连接全指南&#xff1a;从协议解析到OpenCV实战优化 1. 理解RTSP协议与安防摄像头集成基础 RTSP&#xff08;Real Time Streaming Protocol&#xff09;作为安防摄像头视频流传输的核心协议&#xff0c;其连接稳定性直接决定了后续图像处理的效果。与HTTP协议不同…...

wxauto终极指南:Windows微信自动化,轻松实现微信机器人功能

wxauto终极指南&#xff1a;Windows微信自动化&#xff0c;轻松实现微信机器人功能 【免费下载链接】wxauto Windows版本微信客户端&#xff08;非网页版&#xff09;自动化&#xff0c;可实现简单的发送、接收微信消息&#xff0c;简单微信机器人 项目地址: https://gitcode…...

G-Helper终极教程:免费轻量级华硕笔记本控制软件,彻底告别Armoury Crate臃肿体验

G-Helper终极教程&#xff1a;免费轻量级华硕笔记本控制软件&#xff0c;彻底告别Armoury Crate臃肿体验 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix,…...

N_m3u8DL-RE:如何用现代下载工具解决流媒体下载三大技术难题?

N_m3u8DL-RE&#xff1a;如何用现代下载工具解决流媒体下载三大技术难题&#xff1f; 【免费下载链接】N_m3u8DL-RE Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文. 项目地址: https://gitcode.com/GitHub_Trending/…...

5分钟掌握Translumo:Windows平台终极屏幕实时翻译神器

5分钟掌握Translumo&#xff1a;Windows平台终极屏幕实时翻译神器 【免费下载链接】Translumo Advanced real-time screen translator for games, hardcoded subtitles in videos, static text and etc. 项目地址: https://gitcode.com/gh_mirrors/tr/Translumo 想要瞬间…...

SITS 2026架构图首次公开:从Token级流控到Agent级协同,6大核心模块接口规范全披露

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI原生对话系统设计&#xff1a;SITS 2026聊天机器人架构解析 SITS 2026&#xff08;Semantic Interaction & Temporal Synthesis&#xff09;是面向生产环境的AI原生对话系统参考架构&#xff0c;…...