python实现删除mysql数据表中重复的记录
时间: 2024-03-14 14:42:50 浏览: 179
可以使用以下代码实现删除MySQL数据表中重复的记录:
```python
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', user='root', password='password', database='test', charset='utf8mb4')
cursor = conn.cursor()
# 查询重复记录
sql = 'SELECT MIN(id) FROM table_name GROUP BY column_name HAVING COUNT(column_name) > 1'
cursor.execute(sql)
result = cursor.fetchall()
# 删除重复记录
for row in result:
sql = 'DELETE FROM table_name WHERE id > %d AND column_name = "%s"' % (row[0], row[1])
cursor.execute(sql)
conn.commit()
# 关闭连接
cursor.close()
conn.close()
```
其中,`table_name` 为数据表名,`column_name` 为需要去重的列名,这里假设数据表中包含 `id` 和 `column_name` 两列,其中 `id` 为自增主键。该代码会查询出所有重复的记录,并保留 `id` 值最小的记录,其余记录将被删除。
阅读全文