Comment supprimer en masse des emails de sa base de données MySQL ? Cette question nous a été posée tout dernièrement par un lecteur qui gère sa newsletter depuis WordPress.
En effet avec les modules de Newsletter de WordPress les abonnés sont gérés directement depuis l’Administration de WordPress, ce qui peut poser quelques problèmes de lenteur : il faut attendre parfois plusieurs secondes avant que la liste des abonnées s’affiche, voire que le script ne s’affiche pas car cela prend trop de temps…
Dans ces cas là il faut passer directement par l’administration de la base de données MySQL chez votre hébergeur (1and1.fr, ovh.com… ou encore HostGator (un hébergement low cost avec une très bonne qualité de service, mais en anglais) ) et attaquer directement la base de données, les résultats sont quasi immédiats !
Il existe 2 méthodes pour supprimer les emails de votre base de données :
Solution 1 : Si vous n’avez que quelques emails à supprimer vous pouvez faire des recherches directement dans la base de données avec le moteur de recherches de MySQL :
1 – Dirigez vous chez votre hébergeur.
2 – Ouvrez votre base de données (Administration)
3 – Sélectionnez la table de la base de données où sont enregistrés les emails.
4 – Cliquez sur le bouton « Rechercher », puis dans le champ « Email » ajoutez l’email que vous voulez supprimer :
![Comment supprimer en masse des emails de sa base de données MySQL ? base mysql blog](http://media.paperblog.fr/i/282/2823328/supprimer-masse-emails-base-donnees-mysql-L-PZL_Gm.jpeg)
Solution 2 : Si vous avez en revanche plusieurs dizaines d’emails à supprimer (ex : les emails error, les bounced…) le mieux est d’utiliser un script MySQL qui va les supprimer d’un seul coup !
Voici un script à utiliser qui va supprimer automatiquement de votre base de données tous les emails d’une liste :
DELETE FROM `Nomdelatable` WHERE `nomduchampaveclesemails` in (‘[email protected]’ , ‘ [email protected] ‘)
Cela donne dans notre exemple :
DELETE FROM `wp_xxxxxxxxxx` WHERE `email` in (‘[email protected]’ , ‘[email protected]’)
Pour lancer la requête dans MySQL :
1 – Sélectionnez toujours la table concernée (ici « wp_xxxxxxxxx »)
2 – Cliquez sur le bouton « SQL » dans les menus
3 – Copiez-collez le script avec tous les emails, puis cliquez sur « Exécuter »
![Comment supprimer en masse des emails de sa base de données MySQL ? base mysql blog](http://media.paperblog.fr/i/282/2823328/supprimer-masse-emails-base-donnees-mysql-L-e7rKnn.jpeg)
4 – Confirmez que vous voulez bien lancer ce script… Et voilà en quelques millisecondes votre base d’emails est mise à jour !
A noter : si votre fichier d’adresses emails sur Excel est long, vous pouvez ajouter automatiquement des ‘ avant et après l’email ainsi qu’une virgule via Excel en ajoutant la formule =”‘”&B2&”‘”&”,” dans la cellule après votre valeur… Recopiez ensuite cette formule sur toute la liste SAUF pour la dernière valeur qui ne doit pas avoir de virgule à la fin (sinon vous aurez une erreur My SQL).
![Comment supprimer en masse des emails de sa base de données MySQL ? ajouter des caractères avant et après une cellule sur excel](http://media.paperblog.fr/i/282/2823328/supprimer-masse-emails-base-donnees-mysql-L-fwtEkg.jpeg)
Attention : ces manipulations touchent directement votre base de données, c’est donc une manipulation à effectuer avec précautions, car en cas de bêtise vous pouvez planter votre Blog ! Donc ne faites ces manipulations directement dans la base MySQL que si vous avez une bonne expérience de MySQL…