Rechercher et remplacer une chaine avec MySQL
REGEXP REPLACE like avec MySQL

Pour rechercher une chaine et la remplacer par une autre dans un champ spécifique d’une base de données MySQL, voici comment procéder :
UPDATE [nom_de_la_table] SET [nom_du_champ] = REPLACE([nom_du_champ],'[chaine_a_remplacer]','[chaine_de_remplacement]');
Exemple avec un dump, une table encodée en utf-8 et importée dans phpMyAdmin comme si l’encodage était du Latin1 (oup’s !), vous vous retrouvez avec des tas de é ê et autres è à la place de vos accents. Le but étant donc de corriger les caractères accentués de tout ce beau bordel :
UPDATE [nom_de_la_table] SET [nom_du_champ] = REPLACE([nom_du_champ],'é','é');
UPDATE [nom_de_la_table] SET [nom_du_champ] = REPLACE([nom_du_champ],'è','è');
UPDATE [nom_de_la_table] SET [nom_du_champ] = REPLACE([nom_du_champ],'ê','ê');
UPDATE [nom_de_la_table] SET [nom_du_champ] = REPLACE([nom_du_champ],'Ã ','à');
...
UPDATE [nom_de_la_table] SET [nom_du_champ] = REPLACE([nom_du_champ],'è','è');
UPDATE [nom_de_la_table] SET [nom_du_champ] = REPLACE([nom_du_champ],'ê','ê');
UPDATE [nom_de_la_table] SET [nom_du_champ] = REPLACE([nom_du_champ],'Ã ','à');
...


Commentaires