Générer un fichier CSV personnalisé rapidement avec MySQL

Vous n’en voyez pas l’utilité ?
Ou vous connaissez un outil qui fait déjà ça ?

D’accord, phpMyAdmin est sympathique, pour beaucoup de tâches, mais fastidieux…

Quand il s’agit de générer un fichier CSV rapidement avec des colonnes bien définies ou dépourvu de colonnes souvent inutiles telles que l’id (quand le fichier est à destination de votre marketing par exemple) ou encore le created_at (qui ne servira à rien dans le cas d’une stats parsemé d’un « SUM(*) » ou d’un « COUNT(*) »),

Le Tips MySQL est d’une grande utilité : (exemple avec une table de transactions simple)

  SELECT column name, SUM(price), column transaction_at INTO OUTFILE '/tmp/transactions.csv'
  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
  LINES TERMINATED BY '\n'
  FROM transactions;

Ou la ligne de commande est pus rapide et plus efficace : (même table)

  mysql -umyUser-p dbName -B -e "SELECT column name, SUM(price), column transaction_at FROM transactions;" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > /tmp/transactions.csv

N’est ce pas ?


Une réaction sur cet article.

  1. [...] la lignée de mon article portant sur la génération d’un fichier CSV, nous voulons maintenant importer des [...]

Réagissez sur cet article