首页 > 数据库技术 > 详细

大批量删除数据库表中数据行

时间:2020-08-20 11:20:34      阅读:79      评论:0      收藏:0      [点我收藏+]

 

Python MySQL版本

def delete_mysql_expired_data(db_name, table_name, time_field):
    """删除MySQL指定库指定表指定字段的数据"""

    time_end = get_font_6_last_second(t_type=timestamp_int)

    exists_sql = text("""
        SELECT
            1
        FROM
            %s
        WHERE
            %s <= %s
        LIMIT 1;
    """ % (table_name, time_field, time_end))

    delete_sql = text("""
        DELETE FROM
            %s
        WHERE
            %s <= %s
        LIMIT 20000;
    """ % (table_name, time_field, time_end))

    exists = db.engine.execute(exists_sql).scalar()
    try:
        while True:
            if exists is None:
                break
            db.engine.execute(delete_sql)
            exists = db.engine.execute(exists_sql).scalar()
    except:
        return

    optimize_table_tablespace(db_name, table_name)

    return None

 

大批量删除数据库表中数据行

原文:https://www.cnblogs.com/Primzahl/p/13533731.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!