Script d'import de fichier CSV dans MySQL
Par dooblem le dimanche 13 novembre 2011, 21h32 - Lien permanent
Voila le petit script sh que j’ai fait pour faire ça. Il existe la commande MySQL LOAD DATA INFILE, mais cette commande ne crée pas la structure de la table.
#!/bin/sh MYSQL_ARGS="--defaults-file=/etc/mysql/debian.cnf" DB="mbctest" DELIM=";" CSV="$1" TABLE="$2" [ "$CSV" = "" -o "$TABLE" = "" ] && echo "Syntax: $0 csvfile tablename" && exit 1 FIELDS=$(head -1 "$CSV" | sed -e 's/'$DELIM'/` varchar(255),\n`/g' -e 's/\r//g') FIELDS='`'"$FIELDS"'` varchar(255)' #echo "$FIELDS" && exit mysql $MYSQL_ARGS $DB -e " DROP TABLE IF EXISTS $TABLE; CREATE TABLE $TABLE ($FIELDS); LOAD DATA INFILE '$(pwd)/$CSV' INTO TABLE $TABLE FIELDS TERMINATED BY '$DELIM' IGNORE 1 LINES ; "
http://dev.mysql.com/doc/refman/5.1/en/load-data.html
(Voir le commentaire "Posted by John Swapceinski on September 5 2011 5:33am")
