创建完存储过程和函数后,通常需要查看它们的定义、状态和元数据。MySQL 提供了多种方式来完成这类操作。
可以使用 SHOW PROCEDURE STATUS 和 SHOW FUNCTION STATUS 查看基本状态信息。
例如:
SHOW PROCEDURE STATUS;
SHOW FUNCTION STATUS;如果只想查看当前数据库下的对象,也可以加筛选条件。
这些结果通常会包含:
- 对象名称
- 所属数据库
- 创建时间
- 修改时间
- 定义者
如果想查看完整定义,可以使用:
SHOW CREATE PROCEDURE 过程名;
SHOW CREATE FUNCTION 函数名;例如:
SHOW CREATE PROCEDURE get_all_user;
SHOW CREATE FUNCTION get_level;这样可以直接看到创建时的完整 SQL 定义。
MySQL 也可以通过 information_schema.ROUTINES 视图查看过程和函数信息。
例如:
SELECT ROUTINE_NAME, ROUTINE_TYPE, CREATED, LAST_ALTERED
FROM information_schema.ROUTINES
WHERE ROUTINE_SCHEMA = DATABASE();这种方式适合:
- 批量查看
- 条件筛选
- 脚本化管理
看状态可以用 SHOW ... STATUS,看定义可以用 SHOW CREATE ...,做批量化和条件化查询时则可以使用 information_schema.ROUTINES。