python, pymysql ,判断每一行是否完全重复,如果重复,则进行去重
时间: 2023-07-12 07:04:26 浏览: 91
python 去掉重复行
5星 · 资源好评率100%
可以使用Python中的pymysql库来连接MySQL数据库,然后使用SQL语句进行判断和去重。
代码示例:
```python
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', user='root', password='password', database='testdb', charset='utf8mb4')
# 创建游标
cursor = conn.cursor()
# 查询重复行
sql = "SELECT column1, column2, column3, COUNT(*) FROM table_name GROUP BY column1, column2, column3 HAVING COUNT(*) > 1"
cursor.execute(sql)
result = cursor.fetchall()
# 去重
for row in result:
sql = f"DELETE FROM table_name WHERE column1='{row[0]}' AND column2='{row[1]}' AND column3='{row[2]}'"
cursor.execute(sql)
# 提交事务
conn.commit()
# 关闭游标和连接
cursor.close()
conn.close()
```
其中,`column1, column2, column3`是需要判断和去重的列名,`table_name`是需要操作的表名。在查询重复行时,使用GROUP BY和HAVING子句进行分组和筛选出重复行;在去重时,使用DELETE语句删除重复行。最后需要提交事务,并关闭游标和连接。
阅读全文