MySQL批量刪除資料指令碼

2021-08-18 18:47:40 字數 825 閱讀 1017

#!/usr/bin/python

# -*- coding: utf-8 -*-

import os

import mysqldb

import time

db=mysqldb.connect(host="172.16.32.11",user="a",passwd="root1123",port=3307,charset='utf8')

cursor=db.cursor()

sql="select id from test.wqq where del_flag=0 limit 0,50000" ##根據條件找出需要刪除的id號

cursor.execute(sql)

data=cursor.fetchall()

counter=0

data_len=len(data)

for i in range(data_len):

id=data[i][0]

counter=counter+1

sql2="delete from test.wqq where id="+str(id)

cursor.execute(sql2)

data_len=data_len-1

if counter==10000:  ##多少事物提交一次

db.commit()

counter=0

print "剩餘多少%s條資料未刪除" % data_len

if data_len==1 or data_len==0: ##刪除最後不滿足1次事務資料

db.commit()

print "已經完成批量刪除。。。。。"

Mysql 批量刪除資料表資料

drop 不再需要該錶 truncate 保留該錶,但要刪除所有記錄 delete 要刪除部分記錄或者有可能會後悔的話,用 delete 1.drop table tb drop 是直接將 刪除,無法找回。例如刪除 user 表 drop table user 2.truncate table tb...

redis批量刪除資料

redis本身未提供批量刪除的功能,但我們可以使用下面的技巧批量刪除全部或指定格式的資料。刪除以test開頭的所有key值 redis cli h p 埠 a 密碼 keys test xargs redis cli h p 埠 a 密碼 del 如果是刪除localhost的redis資料,且未設...

MySQL批量刪除資料 避免記憶體溢位

正常邏輯是這樣 jpa直接執行sql刪除,把同步過來的資料取出id存在list裡面,用list避免同步過來有重複資料,在dao層使用jpa拼接sql寫法,下面這個方法會變為sql delete from user where id in transactional void deleteuserby...