MySQL a-t-il un outil de ligne de commande de charge en vrac comme BCP pour SQLServer et SQLLDR pour Oracle? Je sais qu'il y a une commande SQL charger infilière code> ou similaire mais j'ai parfois besoin de charge en vrac charger un fichier sur une boîte différente de la base de données MySQL. P>
4 Réponses :
Je pense que mysqlimport peut aider? P>
Charge des tables de fichiers texte dans divers formats. Le nom de base de la Le fichier texte doit être le nom de la table à utiliser. Si l'on utilise des sockets pour se connecter au serveur MySQL, le serveur s'ouvrira et Lisez le fichier texte directement. Dans d'autres cas, le client ouvrira le texte déposer. La commande SQL 'Load Data Infile' est utilisée pour importer les lignes. P>
mysql -u root -p use database; source /path/yourfile.sql Might be what you are looking for, you can use rsync via ssh to transfert the 'bulk file' from a machine to another.
mysqlimport. p>
prend les mêmes paramètres de connexion que la coque de la ligne de commande MySQL. Assurez-vous d'utiliser le drapeau -L pour utiliser un fichier sur le système de fichiers local, sinon elle (étrangement) suppose que le fichier est sur le serveur. P>
Il existe également une variante analogue à la commande code> de la commande code>, c'est-à-dire, load données infilière locale code>, selon laquelle le fichier sera chargé à partir du client plutôt que le serveur, qui peut accomplir ce que vous voulez faire. p>
mysqlimport ressemble à ce que je suis après, merci. Seul Canton que j'ai remarqué, c'est que cela semble que le nom de fichier doit correspondre au nom de la table afin que ce soit peut-être «Les données de charge locales» seront plus flexibles.
Ouais, vous pouvez donc ajouter un lien symbolique au fichier avant de l'importer.
LOAD DATA LOCAL INFILE 'C:\\path\\to\\windows\\file.CSV' INTO TABLE table_name FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (field1, field2, field3, fieldx);