• 大家好,我是孙健,这是我的个人博客,欢迎大家光临寒舍!这里有我学习时翻阅过的资料,也有很多是从国外翻译过来的,希望大家喜欢

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

杂七杂八 孙健 386次浏览 已收录 扫描二维码

孙健以前发布过一篇文章,大家可以参考一下,但是如果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语句一步到位,所以会慢一点


觉得本文还不错的话,您可以赞助一下孙健哦,钱不在多少,一元也是对孙健的鼓励!

孙健博客 , 版权所有丨如未注明 , 均为原创丨 转载请注明孙健教你如何利用python删除mysql重复数据