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

Mysql查找含字符串表字段

该存储过程用于在 当前数据库 中查找包含指定字符串的所有表和字段。

输出结果:每张表只返回一次记录,列出该表中包含目标字符串的字段列表(逗号分隔)。

适用场景:

  • 数据库迁移或审计时,快速定位含敏感信息的字段。
  • 找出数据库中某个 URL、邮箱、关键字或特定内容所在的字段。
  • 不知道具体表或字段名时,快速全库搜索。

DROP PROCEDURE IF EXISTS find_tables_with_string_safe$$
DELIMITER $$
CREATE PROCEDURE find_tables_with_string_safe(IN search_str VARCHAR(255))
BEGINDECLARE done INT DEFAULT 0;DECLARE t_name VARCHAR(255);DECLARE c_name VARCHAR(255);DECLARE sql_text TEXT;DECLARE cur1 CURSOR FORSELECT table_name, column_nameFROM information_schema.columnsWHERE table_schema = DATABASE()AND data_type IN ('char','varchar','text','tinytext','mediumtext','longtext');DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;DROP TEMPORARY TABLE IF EXISTS tmp_find_results;CREATE TEMPORARY TABLE tmp_find_results (table_name VARCHAR(255),column_name VARCHAR(255));OPEN cur1;read_loop: LOOPFETCH cur1 INTO t_name, c_name;IF done = 1 THENLEAVE read_loop;END IF;SET sql_text = CONCAT('INSERT INTO tmp_find_results(table_name, column_name) ','SELECT ''', t_name, ''', ''', c_name, ''' ','FROM `', t_name, '` WHERE `', c_name, '` LIKE ', QUOTE(CONCAT('%', search_str, '%')), ' LIMIT 1');SET @sql_text = sql_text;PREPARE stmt FROM @sql_text;EXECUTE stmt;DEALLOCATE PREPARE stmt;END LOOP;CLOSE cur1;-- 最后返回结果,每张表只取一次表名,多个列会多行返回SELECT table_name, GROUP_CONCAT(column_name SEPARATOR ',') AS matched_columnsFROM tmp_find_resultsGROUP BY table_nameORDER BY table_name;
END$$
DELIMITER ;
http://www.rkmt.cn/news/5317.html

相关文章:

  • 真正的元推理,不需要人类的认可,恰恰是人类追求元推理,只有元推理才能彻底解放人类
  • 西电微机原理-第三章 Intel处理器指令系统及汇编语言(5)
  • 西电微机原理-第五章 存储技术
  • OpenStack Cinder 创建卷
  • 西电微机原理-第二章 Intel单核处理器
  • 二叉树的迭代遍历(非递归)
  • 今日流水账-2025年9月15日
  • 2025年HR经理必备:10款高效人力资源管理软件推荐
  • GAS中GA变量数据的同步
  • 【触想智能】工业显示屏与普通显示屏的八大区别以及应用领域分析
  • 042-WEB 攻防:PHP 应用 MYSQL 架构 SQL 注入 跨库查询 文件读写 权限操作
  • Dsu On Tree 笔记
  • 船舶航向控制算法
  • 应用多、交付快,研发运维怎么管?看云效+SAE 如何一站式破局
  • vue3 - elementPlus
  • wso2~对已发布api的元信息管理
  • OpenStack Cinder 架构
  • HiMarket 正式开源,为企业落地开箱即用的 AI 开放平台
  • 如何统计DrawMeshInstancedIndirect绘制物体的Triangle数据
  • 汇编语言[王爽]-12 内中断
  • 汇编语言[王爽]-01 基础知识
  • 贪心外套计数
  • PostgreSQL中级认证,PG证书官网查询
  • LLaMA-Adapter - 详解
  • 基于yolo12进行深度学习的机动车车牌检测
  • journald 持久化 + 限额脚本
  • 深入解析:PAT乙级_1125 子串与子列_Python_AC解法_含疑难点
  • 东南大学数据库课程06-Database Design
  • 东南大学数据库课程07-Distributed Database Systems
  • Xdebug安装与PhpStorm调试配置