You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编写MariaDB/MySQL存储过程返回匹配指定模式的表名

MariaDB/MySQL 匹配指定模式表名的存储过程实现

核心思路

通过查询information_schema.TABLES系统表获取元数据,该表存储了数据库中所有表的详细信息。只需过滤当前schema(用DATABASE()函数自动获取)且表名匹配传入模式的记录即可。

存储过程示例

DELIMITER //

CREATE PROCEDURE sp_get_matching_tables(IN v_pattern VARCHAR(255))
BEGIN
    -- 查询当前数据库中表名匹配指定模式的表
    SELECT TABLE_NAME AS matching_table
    FROM information_schema.TABLES
    WHERE TABLE_SCHEMA = DATABASE()
      AND TABLE_NAME LIKE v_pattern
    ORDER BY TABLE_NAME;
END //

DELIMITER ;

使用方法

调用存储过程时传入匹配模式(支持%匹配任意长度字符、_匹配单个字符):

-- 示例:查询所有以user开头的表
CALL sp_get_matching_tables('user%');

-- 示例:查询所有名称包含log的表
CALL sp_get_matching_tables('%log%');

注意事项

  • 执行存储过程的用户需拥有information_schema.TABLES表的查询权限
  • 若要匹配%或_本身,需用反斜杠转义(如\%)
  • 无匹配表时,存储过程返回空结果集,不会抛出错误

内容的提问来源于stack exchange,提问作者Timothy Ryan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 16:47:02