Was ist der einfachste Weg, um eine neue Tabelle in MySQL v5 von CSV zu importieren?

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

  •  03-07-2019
  •  | 
  •  

Frage

Ich bin mit MySQL 5 auf einem Linux-Server auf meinem lokalen Netzwerk. Ausführen von Windows XP für meinen Desktop. Hatte einen Blick auf die MySQL GUI Tools aber ich glaube nicht, dass sie helfen . Ich kann nicht Apache auf dem Remote-Server installieren und zu etwas wie phpMyAdmin verwenden.

War es hilfreich?

Lösung

Ich benutze SQLyog auf meinem Windows-System, das eine kostenlose Community Edition hat und hat eine Option zum Importieren von CSV.

Ich habe noch nie diese Option verwende ich, so kann ich Ihnen nicht sagen, wie gut es ist. Allerdings hat SQLyog groß gewesen für alle anderen Dinge, die ich verwendet habe, es.

Andere Tipps

einen Blick @ Lastdaten infile haben: http: / /dev.mysql.com/doc/refman/5.0/en/load-data.html

Von dem MySQL-Shell oder Abfrage-Browser ...

Wenn die CSV hat keinen Header:

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

Wenn die CSV hat einen Header:

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

Ich möchte einen Tabelleneditor verwenden, um eine Reihe von SQL-Anweisungen zu machen. Legen Sie eine neue Spalte zu Beginn und fügen insert into tablename values('. In anderen Spalten, die Daten mit Code wie '',' zu trennen. Fertig mit '');. Verwenden Sie die Funktion zum automatischen Ausfüllen diese Zellen nach unten, um so viele Zeilen wie nötig zu ziehen. Kopieren Sie das gesamte Blatt zu einem einfachen Texteditor und entfernen Sie die überschüssigen Registerkarten, um Sie mit einem einfachen Satz von Insert-Anweisungen zu verlassen.

Dies ist eine Lösung, die ich für jedes Datenbanksystem und jedes Tabelle Dateiformat verwenden kann. Außerdem ist es einfach, die Tabelle aus Quellen wie andere Datenbanken oder das Kopieren und Einfügen von einer Webseite zu füllen. Es ist auch recht schnell und die von jedem Desktop-Rechner, mit Hilfe von Excel, Openoffice oder Google Docs.

meine Beispiel-Tabelle Siehe Excel und Openoffice Versionen.

ich dies mit LOAD DATA INFILE gerade tat, aber es ist erwähnenswert, dass es als Gareths Beispiel nicht ganz so einfach ist (Kai ganz richtig ist, dass Sie unter die Dokumentation). Um richtig kommagetrennte Werte zu importieren, habe ich dies:

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

Dies setzt voraus, eine CSV-Datei mit Anführungszeichen um jedes Feld und eine einzige Kopfzeile am oberen Rande. (Sie wahrscheinlich nicht brauchen die LINES TERMINATED BY, da es der Standard sein sollte, aber es ist eine gute Praxis explizit zu sein.)

Die Toad Anwendung funktioniert Wunder und ist Freeware. Wenn Sie eine richtige CSV-Datei haben, wird es die Tabelle erstellen und alle Daten für Sie importieren.

Schreiben Sie einen einfachen Python-Skript, das das CSV analysiert und fügt es in die Tabelle.

Sehen Sie sich die csv und mysqldb Modul.

Wenn Sie nichts dagegen haben ein bisschen von kommerzieller Software dann Navicat ( http://mysql.navicat.com / ) ist ein sehr nützliches Stück Software und ist für Mac, Windows, Linux verfügbar. Ich benutze es regelmäßig für eine große CSV-Datei in eine Datenbank zu importieren.

Toad for MySQL dies gut tun wird, mit erheblicher Kontrolle über die Import (selektiv passenden Spalten zum Beispiel) und am nachhaltigsten es ist kostenlos.

Ich habe auch SQLYog verwendet, aber Sie haben die kommerzielle Version für diesen als Import haben, aus der Datei ist in der Community Edition nicht zur Verfügung.

Toad ist ein ausgezeichnetes Stück Software, die für alle gängigen Datenbanken in Versionen kommt und ich habe sowohl die MSSQL und Oracle-Versionen in der Vergangenheit auch verwendet. Empfohlen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top