Quel est le moyen le plus simple d'importer une nouvelle table dans MySQL v5 à partir de CSV?

StackOverflow https://stackoverflow.com/questions/156994

  •  03-07-2019
  •  | 
  •  

Question

J'utilise MySQL 5 sur un serveur Linux sur mon réseau local. Exécuter Windows XP pour mon bureau. Vous avez jeté un coup d’œil aux outils de l'interface graphique de MySQL , mais je ne pense pas qu'ils vous aident . Je ne parviens pas à installer Apache sur le serveur distant. utilisez quelque chose comme PHPmyAdmin.

Était-ce utile?

La solution

J'utilise SQLyog sur mon système Windows doté d'une édition gratuite de la Communauté et d'une option d'importation depuis CSV.

Je n'ai jamais utilisé cette option moi-même, je ne peux donc pas vous dire à quel point c'est bon. Cependant, SQLyog a été excellent pour toutes les autres choses pour lesquelles je l’ai utilisé.

Autres conseils

jeter un oeil sur les données de chargement @: http: / /dev.mysql.com/doc/refman/5.0/fr/load-data.html

À partir du shell MySQL ou du navigateur de requêtes ...

Si le CSV n'a pas d'en-tête:

LOAD DATA INFILE 'mycsvfile.csv' INTO TABLE mytable;

Si le CSV a un en-tête:

LOAD DATA INFILE 'mycsvfile.csv' INTO TABLE mytable IGNORE 1 LINES;

J'utiliserais un éditeur de feuille de calcul pour créer un ensemble d'instructions SQL. Placez une nouvelle colonne au début et ajoutez insert dans les valeurs nom_table ('. Ajoutez d'autres colonnes pour séparer les données avec un code comme ' ',' . Terminez avec ''); . Utilisez la fonction de remplissage automatique pour faire glisser ces cellules vers autant de lignes que nécessaire. Copiez l'intégralité de la feuille dans un éditeur de texte brut et supprimez les onglets superflus, en vous laissant un simple jeu d'instructions d'insertion.

Il s'agit d'une solution que je peux utiliser pour tout système de base de données et tout format de fichier de feuille de calcul. De plus, il est facile de remplir la feuille de calcul à partir de sources telles que d'autres bases de données, ou de copier et coller depuis une page Web. Il est également assez rapide et disponible sur n’importe quel ordinateur de bureau, avec Excel, OpenOffice ou Google Docs.

Voir mon exemple de feuille de calcul dans Excel et .

Je viens de le faire en utilisant LOAD DATA INFILE , mais il convient de noter que ce n'est pas aussi simple que l'exemple de Gareth (Kai a tout à fait raison de regarder la documentation ). Pour importer correctement les valeurs séparées par des virgules, j'ai utilisé ceci:

LOAD DATA LOCAL INFILE 'mycsvfile.csv' INTO TABLE mytable 
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;

Cela suppose un fichier CSV avec des guillemets autour de chaque champ et une ligne d'en-tête unique en haut. (Vous n'avez probablement pas besoin de LIGNES TERMINÉES PAR car il devrait s'agir de la valeur par défaut, mais c'est une bonne pratique d'être explicite.)

L'application Toad fonctionne à merveille et est un logiciel gratuit. Si vous avez un fichier CSV approprié, il créera la table et importera toutes les données pour vous.

Écrivez un script Python simple qui analyse le fichier CSV et l'insère dans la table.

Regardez les modules csv et mysqldb .

Si vous n’êtes pas dérangé par l’utilisation d’un logiciel commercial, Navicat ( http://mysql.navicat.com / ) est un logiciel très utile, disponible pour Mac, Windows et Linux. Je l’utilise régulièrement pour importer un gros fichier CSV dans une base de données.

Toad for MySQL le fera très bien, avec un contrôle considérable sur l'importation (les colonnes correspondant sélectivement par exemple) et le plus longtemps, c’est gratuit.

J'ai également utilisé SQLYog, mais vous devez disposer de la version commerciale, car l'importation à partir d'un fichier n'est pas disponible dans l'édition de la communauté.

Toad est un excellent logiciel qui existe en versions pour toutes les bases de données majeures. J’avais déjà utilisé les versions MSSQL et Oracle. Recommandé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top