一个技术宅的个人博客

孙健教你如何利用python删除mysql重复数据

孙健以前发布过一篇文章,大家可以参考一下,但是如果MySQL数据量太大了,到第二步就会卡死,所以孙健决定利用python来删除,但是时间上会慢一点。
wordpress删除重复标题文章的简单代码

首先,利用sql语句建立一个临时表

CREATE TABLE my_tmp AS SELECT MIN(ID) AS col1 FROM article_data GROUP BY title;

第二步,需要在Python环境下进行了,如下是python代码:

import time
import pym ysql

if __name__=='__main__':
    db = pym ysql.connect("127.0.0.1","root","root","sites" )
    cursor = db.cursor()
    sql="select * from article_data "
    
    cursor.execute(sql)
    results = cursor.fetchall()
    for row in results:
        sql_1="select col1 from my_tmp where col1="+str(row[0])
        cursor.execute(sql_1)
        r1=cursor.fetchall()
        if(len(r1)==0):
            sql_2="delete from article_data where id="+str(row[0])
            cursor.execute(sql_2)
            db.commit()
            print(str(row[0])+"成功删除")
        else:
            print(str(r1)+"没有问题,跳过")
        time.sleep(0.1)

    db.close()

然后,就运行程序吧,它是一步一步执行的,不像sql语句一步到位,所以会慢一点

赞(13) 打赏
未经允许不得转载:孙健个人博客 » 孙健教你如何利用python删除mysql重复数据

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏