Advertisement
Typhoon

Duplicate E-Mail Remover From MySQL

Jun 5th, 2015
358
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.66 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import pymysql
  4.  
  5. # Connect to the database
  6. connection = pymysql.connect(host='mariadb55.websupport.sk',
  7.                              port=3310,
  8.                              user='my_user',
  9.                              passwd='my_pass',
  10.                              db='my_db',
  11.                              charset='utf8mb4',
  12.                              cursorclass=pymysql.cursors.DictCursor)
  13.  
  14. with connection.cursor() as cursor:
  15.     sql = "DELETE FROM `email_unreg` WHERE email LIKE '%voprakticky%';\
  16.           DELETE FROM `email_unreg` WHERE email LIKE '%stonline%';"
  17.     cursor.execute(sql)
  18.  
  19. with connection.cursor() as cursor:
  20.     sql = "SELECT `email`,`id` FROM `email_unreg`"
  21.     cursor.execute(sql)
  22.     result = cursor.fetchall()
  23.  
  24. bad_emails = []
  25. duplicates = []
  26. for x in result:
  27.     si_mail = str(x['email']).replace('\n', '').replace(' ', '')
  28.     si_id = str(x['id']).replace('\n', '').replace(' ', '')
  29.  
  30.     if si_mail in bad_emails:
  31.         print si_mail
  32.         print si_id
  33.         with connection.cursor() as cursor:
  34.             sql = "DELETE FROM `email_unreg` WHERE id=%s"
  35.             cursor.execute(sql, (si_id))
  36.         print "Duplicate removed : " + si_mail
  37.         duplicates.append(si_mail)
  38.  
  39.     else:
  40.         print "Unique E-MAIL ADDED TO LIST : " + si_mail
  41.         bad_emails.append(si_mail)
  42.  
  43. with connection.cursor() as cursor:
  44.     sql = "ALTER TABLE `email_unreg` DROP `id`;\
  45.           ALTER TABLE `email_unreg` ADD `id` INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`) ;"
  46.     cursor.execute(sql)
  47.  
  48. print "\n###################################\n"
  49. print "Total E-Mails: " + str(len(result))
  50. print "Total - Deleted E-Mails : " + str(len(duplicates))
  51. print "\n###################################\n"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement