Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment importer un fichier CSV dans une table MySQL

Plusieurs fois, nous devons importer un fichier CSV dans une table MySQL ou créer une table à partir de CSV ou automatiser l'importation de CSV dans le serveur MySQL. Voici comment importer un fichier CSV dans la base de données MySQL dans Ubuntu. Nous utiliserons la requête LOAD DATA INFILE pour importer CSV dans MySQL. Vous pouvez également utiliser ces étapes pour CentOS et d'autres systèmes Linux.

Comment importer un fichier CSV dans une table MySQL

Voici les étapes pour importer un fichier CSV dans MySQL. Après avoir importé le fichier CSV avec en-tête dans MySQL, vous pouvez utiliser un outil de création de rapports pour interroger votre table MySQL et vous assurer que tout fonctionne correctement.

1. Créer un tableau

Tout d'abord, vous devez créer une table de base de données avec le même nombre de colonnes que celles de votre fichier CSV. Supposons que vous souhaitiez importer un fichier CSV avec 2 champs - order_date, sale

Nous allons donc créer un sales (date_commande, vente) table en utilisant mysql.

mysql> crée la table sales(order_date date, sale int);

Lecture bonus :Comment calculer le taux de conversion dans MySQL

2. Importer le fichier CSV dans la table MySQL

Ensuite, importez notre fichier CSV dans MySQL à l'aide de la commande LOAD DATA INFILE.

Disons que nous avons le fichier sales.csv suivant. Veuillez utiliser des guillemets simples/doubles pour les valeurs de date dans votre fichier CSV, sinon vous obtiendrez une erreur.

"2020-01-01",15"2020-01-02",25"2020-01-03",34"2020-01-04",22"2020-01-05",30 
mysql> LOAD DATA INFILE 'c:/files/sales.csv' INTO TABLE sales FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE ROWS 1;mysql> select * from sales; date_commande | vente------------+------ 01/01/2020 | 15 02/01/2020 | 25 03/01/2020 | 34 04/01/2020 | 22 2020-01-05 | 30

Lecture bonus :Comment remplir les dates manquantes dans MySQL

Dans la requête ci-dessus, nous spécifions le délimiteur à l'aide de FIELDS TERMINATED BY ',   et le délimiteur de nouvelle ligne pour chaque ligne sous la forme LIGNES TERMINÉES PAR '\n'. ENCLOSED BY " indique que les valeurs entre guillemets doubles doivent être traitées comme des caractères ou des dates, mais pas comme des nombres. Vous pouvez également utiliser des guillemets simples ou un autre caractère au lieu de guillemets ici, mais cela doit correspondre à ce qui est utilisé dans votre fichier CSV.

Puisque nos données contiennent des en-têtes, nous utilisons IGNORE ROWS 1 pour dire à MySQL de ne pas importer la ligne #1 dans notre fichier. Si votre fichier CSV n'inclut pas d'en-têtes, vous pouvez l'omettre de votre requête.

Lecture bonus :Requête SQL pour comparer les ventes de produits par mois

Vous pouvez utiliser les mêmes requêtes avec des fichiers CSV ou TXT, en modifiant l'extension de fichier dans votre requête. Vous pouvez également l'utiliser pour importer un fichier délimité par des tabulations dans MySQL, en remplaçant le délimiteur par \t au lieu de la virgule.

Après avoir importé le fichier CSV, vous pouvez utiliser un outil de création de rapports mysql tel qu'Ubiq pour les tracer dans des graphiques à lignes/colonnes, comme indiqué ci-dessous.

Espérons que les étapes ci-dessus vous aideront à importer facilement le fichier CSV dans la table MySQL. Au fait, si vous souhaitez créer des graphiques et des tableaux de bord pour surveiller votre entreprise ou votre site Web, vous pouvez essayer Ubiq. Nous offrons un essai gratuit de 14 jours.