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

MySQL:information_schema查找某个表的主键是否在数据的其他位置出现之二

上一篇: MySQL:information_schema查找某个表的主键是否在数据的其他位置出现之一-CSDN博客

摘要

遍历数据库每一张表的每一个字段,是否存在字符串search_term

正文

源码

import pymysql
from datetime import datetime# 测试函数
if __name__ == '__main__':# 连接参数db_config = {'host': 'xx.x.x.x','user': 'xx','password': 'xx','database': 'xx'}# 要搜索的字符串search_term = '%attach%'# 连接到数据库connection = pymysql.connect(**db_config)with open('xx.txt', 'a') as file:try:print("Connected to database!")with connection.cursor() as cursor:# 获取所有表和字段# 获取所有表和字段cursor.execute("""SELECT c.TABLE_SCHEMA, c.TABLE_NAME, c.COLUMN_NAMEFROM information_schema.COLUMNS cJOIN information_schema.TABLES t ON c.TABLE_SCHEMA = t.TABLE_SCHEMA AND c.TABLE_NAME = t.TABLE_NAMEWHERE t.TABLE_TYPE = 'BASE TABLE'and c.TABLE_SCHEMA = 'xx'  # 替换为你的数据库名""")columns = cursor.fetchall()# 遍历所有表和字段for schema, table, column in columns:# 构造查询query = f"SELECT `{column}` FROM `{schema}`.`{table}` WHERE `{column}` LIKE {connection.escape(search_term)}"now = datetime.now()formatted_now = now.strftime("%Y-%m-%d %H:%M:%S")# print(f"{formatted_now}Executing: {query}")scan_table = f"{formatted_now}Executing: {query}\n"# 执行查询(这里只打印SQL,实际使用时可以执行并检查结果)cursor.execute(query)results = cursor.fetchall()if results:file.write(scan_table)has_value = f"Found in {schema}.{table}.{column}\n"# print(f"Found in {schema}.{table}.{column}")file.write(has_value)finally:connection.close()

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 三、前后端分离通用权限系统(3)
  • vue中未能及时获取到props?
  • docker入门之cgroups
  • Linux的chmod指令
  • 电测量数据交换DLMS∕COSEM组件第62部分:COSEM接口类(2)
  • 14.3 Matplotlib与Seaborn数据可视化
  • 基于web网上村委会业务办理系统pf
  • Linux中的锁
  • 预计下半年业务将反弹回升,亚信科技的底气源自哪里?
  • MySQL——单表查询(二)按条件查询(4)空值查询
  • 《深入浅出多模态》(八)多模态经典模型:MiniGPT4
  • qt-16可扩展对话框--隐藏和展现
  • 【硬件模块】震动传感器模块
  • Python做统计图之美
  • 注意!美国跨境选品风向变动,低价产品反成抢手货!
  • CSS 提示工具(Tooltip)
  • CSS3 变换
  • js面向对象
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • node.js
  • python大佬养成计划----difflib模块
  • Redis中的lru算法实现
  • Swoft 源码剖析 - 代码自动更新机制
  • Vue.js源码(2):初探List Rendering
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 记录:CentOS7.2配置LNMP环境记录
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 前嗅ForeSpider教程:创建模板
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • Java性能优化之JVM GC(垃圾回收机制)
  • puppet连载22:define用法
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • # 利刃出鞘_Tomcat 核心原理解析(二)
  • (1)虚拟机的安装与使用,linux系统安装
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (Forward) Music Player: From UI Proposal to Code
  • (vue)页面文件上传获取:action地址
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (分布式缓存)Redis分片集群
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (七)glDrawArry绘制
  • (四)鸿鹄云架构一服务注册中心
  • (一)WLAN定义和基本架构转
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)母版页和相对路径
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .mysql secret在哪_MySQL如何使用索引
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .NET/C#⾯试题汇总系列:⾯向对象
  • .NET简谈设计模式之(单件模式)
  • .net专家(高海东的专栏)