当前位置: 首页 > 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.wxhsa.cn/company.asp?id=4826

相关文章:

  • MySQL注意事项与规范 - 实践
  • 真正的元推理,不需要人类的认可,恰恰是人类追求元推理,只有元推理才能彻底解放人类
  • 西电微机原理-第三章 Intel处理器指令系统及汇编语言(5)
  • 西电微机原理-第五章 存储技术
  • 西电微机原理-第七章 常用接口器件
  • CF1264D1 Beautiful Bracket Sequence (easy version)
  • 西电微机原理-第六章 输入输出技术
  • 【FAQ】应用A如何使用应用B内的文件?
  • OpenStack Cinder 创建卷
  • 西电微机原理-第二章 Intel单核处理器
  • 二叉树的迭代遍历(非递归)
  • 记录---用好了 defineProps 才叫会用 Vue3,90% 的写法都错了
  • 今日流水账-2025年9月15日
  • c#给原文件重命名
  • tcpdump常用随笔
  • 2025年HR经理必备:10款高效人力资源管理软件推荐
  • GAS中GA变量数据的同步
  • 提升员工绩效的5大人才管理软件评测与分析
  • 【触想智能】工业显示屏与普通显示屏的八大区别以及应用领域分析
  • LLaVA- Improved Baselines with Visual Instruction Tuning - jack
  • 042-WEB 攻防:PHP 应用 MYSQL 架构 SQL 注入 跨库查询 文件读写 权限操作
  • Dsu On Tree 笔记
  • 西电微机原理-第一章 序论:微型计算机概述
  • Liunx 硬盘扩容
  • 船舶航向控制算法
  • pyside6 1
  • 基于WSL下载Hadoop和HBASE
  • 应用多、交付快,研发运维怎么管?看云效+SAE 如何一站式破局
  • revit二次开发之 钢筋功能详细分析
  • java-wxj02