为懒人提供无限可能,生命不息,code不止
作者: whooyun发表于: 2024-11-02 00:56
-- 1. 设置最大长度 SET SESSION group_concat_max_len = 10000; -- 2. 设置搜索字符串 SET @search_string = '%nginx%'; -- 3. 查询生成包含搜索条件的 SQL 语句 SELECT GROUP_CONCAT( 'SELECT DISTINCT ''', TABLE_NAME, ''' AS TableName, ''', COLUMN_NAME, ''' AS ColumnName ', 'FROM ', TABLE_NAME, ' WHERE ', COLUMN_NAME, ' LIKE "', @search_string, '"' SEPARATOR ' UNION ' ) INTO @sql_query FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND DATA_TYPE IN ('char', 'varchar', 'text'); -- 4. 执行生成的动态 SQL 查询 PREPARE stmt FROM @sql_query; EXECUTE stmt; DEALLOCATE PREPARE stmt;
1、输入字符串,进行全库所有表文本类型字段匹配,查找符合条件的表名及字段名
2、有SQL注入风险,尽量不开放给外部使用
3、有性能风险,数据量大,表多尽量别用