Corriger les données directement dans les tables à travers des requêtes

Il arrive parfois que des données insérées en CSV ou venant d’un tableur comportent quelques petites erreurs de format.

Pour ce faire je vous propose deux fonctions.

La première est TRIM que vous connaissez peut être du monde PHP. Comme son homologue il permet d’ôter les blancs avant et après du texte. On le combine avec un UPDATE de la manière suivante:

UPDATE clients SET first_name = TRIM(first_name);

La deuxième est REPLACE. Celui-ci accepte trois arguments: le nom de la colonne (ou une chaîne de caractères), le caractère à remplacer et, pour finir, le caractère de remplacement. Vous pouvez de nouveau la combiner avec un UPDATE comme suit:

UPDATE articles SET code_article = REPLACE(code_article, '/', '-');

Vous voila équipé avec un outil qui vous évitera de repasser par un script ou de réimporter des données.

– James Poulson.

P.S: Je vous conseille vivement de faire un backup de vos tables avant de faire ce genre de transformation !

Addendum: La requête suivante permet de remplacer les apostrophes stylisés qui peuvent provenir de traitements de textes:

UPDATE topic SET text = REPLACE(title, '’', '\''),;