当前位置: 首页 > 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()

http://www.lryc.cn/news/425485.html

相关文章:

  • Linux进程和计划任务管理
  • 【Angular18】封装自定义组件
  • 【流媒体】RTMPDump—RTMP_ConnectStream(创建流连接)
  • MySQL学习3之锁机制
  • 2004-2023年上市公司过度负债数据(含原始数据+计算结果)
  • [机器学习]--KNN算法(K邻近算法)
  • 跨平台控制神器Escrcpy,您的智能生活助手
  • AR 眼镜之-开关机定制-实现方案
  • 论文阅读-Transformer Layers as Painters
  • 【STL】vector模拟实现
  • 静态成员static关键字
  • 本地项目git同步到线上
  • Allegro如何导入DXF结构文件并生成板框(1)?
  • Word密码忘记怎么办?三个密码找回工具帮你轻松找回密码
  • 使用 ABP 框架 (ASP.NET Boilerplate Project) 创建一个带有迁移功能的示例
  • WPF图表控件库
  • JAVA-WEB资源配置
  • 分享一个基于微信小程序的宠物服务中心的设计与实现(源码、调试、LW、开题、PPT)
  • 时空自回归模型(STAR)及 Stata 具体操作步骤
  • SpringCloud集成XXL-JOB定时任务
  • 《财经网》揭秘格行销量第一的秘籍!年销百万台,获千万级网红推荐!
  • Java 中 Integer 类的比较行为
  • C# 通过反射(Reflection)调用不同名泛型方法
  • Spring Boot整合Drools入门:实现订单积分规则
  • 【C语言】文件操作函数详解
  • Java 垃圾回收,看一遍就懂
  • 手把手教你CNVD漏洞挖掘 + 资产收集
  • 华为云低代码AstroZero技巧教学1:表格的超链接赋能
  • https握手过程详解
  • Lesson 63 Thank you, doctor