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

【MySQL】数据处理:从SQL批量删除报错到Python优雅解决

一、背景
MySQL数据库表中有一批重复的脏数据,为不影响正常业务,需要进行批量删除。

二、SQL批量删除
首先想到的是编写SQL语句来批量删除:删除身份证号为51****59且ID不为5的全部数据(保留ID为5的那一条数据)

DELETE 
FROM
    test_table 
WHERE
    id IN ( SELECT id FROM test_table WHERE id_card_no = "51****59" AND id != 5 );

运行结果:

删除失败,SQL语句运行时报错了

鉴于当时实际情况需要尽快删除脏数据,就没有在此做过多的考究,原因和解决详见第四小节:SQL运行问题排查

三、Python批量删除
数据准备
将SQL查询到的所有需要删除的数据ID保存到txt文件中

SELECT id FROM test_table WHERE id_card_no = "51****59" AND id != 5;

              

读取数据ID
def del_from_mysql():
    # 【读取数据ID】
    with open(file="新建文本文档.txt", mode="r", encoding="utf-8") as f:
        data = f.read()
        f.close()
    ids = data.split("\n")
    print(ids)


if __name__ == &#

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

相关文章:

  • Rust 软件测试
  • win11下配置visual studio 2022+PCL1.13.1
  • 智能优化算法应用:基于法医调查算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 【分享】4个方法打开PDF文件
  • React 调试
  • List 流的使用
  • 设计模式:单例模式(使用c++分别实现饿汉式单例、带双重检查锁定机制的懒汉式单例以及IoDH技术的单例)
  • [编程相关]正则表达式Regex语法
  • axios实例配置和使用
  • uni-app 工程目录结构介绍
  • YOLOv8改进 | 主干篇 | 利用SENetV2改进网络结构 (全网首发改进)
  • TUP实现一对一聊天
  • Kafka设计原理详解
  • 光耦继电器
  • 【C++练级之路】【Lv.5】动态内存管理(都2023年了,不会有人还不知道new吧?)
  • 2016年第五届数学建模国际赛小美赛A题臭氧消耗预测解题全过程文档及程序
  • springMVC-与spring整合
  • 【二叉树】【单调双向队列】LeetCode239:滑动窗口最大值
  • 如何使用树莓派Bookworm系统中配置网络的新方法NetworkManager
  • 恶意软件分析沙箱在网络安全策略中处于什么位置?
  • ARM学习(24)Can的高阶认识和错误处理
  • 网络通信--深入理解网络和TCP / IP协议
  • IPC之九:使用UNIX Domain Socket进行进程间通信的实例
  • 学习在UE中通过Omniverse实现对USD文件的Live-Sync(实时同步编辑)
  • 实现打印一个数字金字塔。例如:输入5,图形如下图所示
  • hive sql常用函数
  • Spark系列之:使用spark合并hive数据库多个分区的数据到一个分区中
  • 《重构-改善既有代
  • vue3(七)-基础入门之事件总线与动态组件
  • 【计算机网络】网络层——IP协议