Aujourd’hui, je vais vous proposer un petit article qui va aller droit au but pour répondre à un besoin simple. Comment exporter le contenu d’une colonne présente dans une table dans un simple fichier texte avec un résultat par ligne ?
Ici, je ne vais pas utiliser l’outil mysqldump qui permet d’exporter et sauvegarder une base de données, mais plutôt aller au plus simple. Je veux seulement obtenir le contenu d’une colonne dans un fichier, car c’est quelque chose que l’on peut avoir besoin de faire. En tant que développeur, pour diverses raisons, on peut avoir besoin de sortir quelques données à des fins de test.
Dans ce tutoriel, je vais prendre l’exemple du cas où vous auriez besoin d’exporter les adresses mail de vos utilisateurs qui se sont abonnés à votre newsletter. Cela permet ensuite de les importer dans un routeur pour réaliser vos campagnes d’emailing.
Plutôt que d’utiliser mysqldump on va simplement faire une requête SQL et envoyer la sortie vers un fichier texte. L’avantage de cette solution, c’est que c’est très bien optimisé et vous pourrez exporter facilement des gros jeux de données dans votre fichier de sortie.
mysql -u myuser -p -e "SELECT mail FROM destinataires;" ma_base > export_emails.txt
Encore un article qui va moi aussi me faire gagner du temps, car je vais pouvoir venir copier coller cette ligne à ma guise et j’espère que ça vous sera aussi utile pour en faire autant. J’espère pouvoir développer un peu ce thème de la base de données et SQL notamment, car c’est un sujet ou il y a énormément de choses à dire ! J’ai déjà commencé en vous parlant des migrations dans Laravel qui vous permettent de facilement gérer votre base de données avec ce framework.