Ich habe eine CSV-Datei. Es enthält 1,4 Millionen Datenzeilen, daher kann ich diese CSV-Datei nicht in Excel öffnen, da ihr Limit bei etwa 1 Million Zeilen liegt.
Daher möchte ich diese Datei in die MySQL Workbench importieren. Diese CSV-Datei enthält Spalten wie
"Service Area Code","Phone Numbers","Preferences","Opstype","Phone Type"
Ich versuche, eine Tabelle in der MySQL-Workbench mit dem Namen "Dummy" zu erstellen, die Spalten wie enthält
ServiceAreaCodes,PhoneNumbers,Preferences,Opstyp,PhoneTyp.
Die CSV-Datei heißt model.csv
. Mein Code in der Workbench sieht folgendermaßen aus:
LOAD DATA LOCAL INFILE 'model.csv' INTO TABLE test.dummy FIELDS TERMINATED BY ',' lines terminated by '\n';
aber ich bekomme einen fehler wie model.CSV file not found
Antworten:
Ich denke, Sie vermissen die ENCLOSED BY-Klausel
Geben Sie den vollständigen Pfad der CSV-Datei an
Load Data Infile - MySQL-Dokumentation
quelle
'//path//to//your//csv//file//model.csv'
und alle Felder mit einzelnen Schrägstrichen brachen.Wenn Sie einen kleineren Datensatz haben, können Sie dies über die GUI erreichen:
Referenz: http://www.youtube.com/watch?v=tnhJa_zYNVY
quelle
Klicken Sie im Navigator unter SCHEMAS mit der rechten Maustaste auf Ihr Schema / Ihre Datenbank und wählen Sie "Assistent zum Importieren von Tabellendaten".
Funktioniert auch für Mac.
quelle
Sie können den MySQL Table Data Import-Assistenten verwenden
quelle
Derzeit ist es nicht möglich, eine CSV (mit MySQL Workbench) auf allen Plattformen zu importieren, und es wird auch nicht empfohlen, wenn sich diese Datei nicht auf demselben Host wie der MySQL-Server-Host befindet.
Sie können jedoch mysqlimport verwenden .
Beispiel:
In diesem Beispiel
mysqlimport
wird angewiesen, alle Dateien mit dem Namen "sales" mit einer Erweiterung zu laden, die mit "part_" beginnt. Dies ist eine bequeme Möglichkeit, alle im Beispiel "Teilen" erstellten Dateien zu laden. Verwenden Sie die Option --compress, um den Netzwerkverkehr zu minimieren. Die Option --fields-terminated-by = ',' wird für CSV-Dateien verwendet, und die Option --local gibt an, dass sich die eingehenden Daten auf dem Client befinden. Ohne die Option --local sucht MySQL nach den Daten auf dem Datenbankhost. Geben Sie daher immer die Option --local an.In der AWS RDS-Dokumentation finden Sie nützliche Informationen zu diesem Thema .
quelle
Wenn sich der Server auf einem Remotecomputer befindet, stellen Sie sicher, dass sich die Datei auf dem Remotecomputer und nicht auf Ihrem lokalen Computer befindet.
Wenn sich die Datei auf demselben Computer befindet, auf dem sich der MySQL-Server befindet, stellen Sie sicher, dass der MySQL-Benutzer über die Berechtigung zum Lesen / Schreiben der Datei verfügt, oder kopieren Sie die Datei in das MySQL-Schema-Verzeichnis:
In meinem Fall in Ubuntu war es: /var/lib/mysql/db_myschema/myfile.csv
Auch nicht in Bezug auf dieses Problem, aber wenn Sie Probleme mit den neuen Zeilen haben, verwenden Sie sublimeTEXT, um die Zeilenenden in das WINDOWS-Format zu ändern, die Datei zu speichern und es erneut zu versuchen.
quelle
Es scheint ein wenig knifflig zu sein, da es mich lange Zeit wirklich gestört hat.
Sie müssen nur die Tabelle öffnen (Rechtsklick auf "Select Rows-Limit 10000") und Sie öffnen ein neues Fenster. In diesem neuen Fenster finden Sie "Importsymbol".
quelle