Kann jemand erklären, wie man eine Microsoft Excel-Datei in eine MySQL-Datenbank importiert?
Zum Beispiel sieht meine Excel-Tabelle folgendermaßen aus:
Country | Amount | Qty
----------------------------------
America | 93 | 0.60
Greece | 9377 | 0.80
Australia | 9375 | 0.80
Antworten:
Exportieren Sie es in ein Textformat. Am einfachsten wird wahrscheinlich eine durch Tabulatoren getrennte Version sein, aber CSV kann auch funktionieren.
Verwenden Sie die Funktion zum Laden von Daten. Siehe http://dev.mysql.com/doc/refman/5.1/en/load-data.html
Schauen Sie sich die Hälfte der Seite an, da dies ein gutes Beispiel für tabulatorgetrennte Daten darstellt:
FELDER BEENDET DURCH '\ t' EINGESCHLOSSEN DURCH '' ESCAPED BY '\'
Überprüfen Sie Ihre Daten. Manchmal hat das Zitieren oder Escape-Problem Probleme, und Sie müssen Ihre Quelle und Ihren Importbefehl anpassen - oder es ist möglicherweise einfacher, die Nachbearbeitung über SQL durchzuführen.
quelle
Es gibt ein einfaches Online-Tool namens sqlizer.io , das dies kann .
Sie laden eine XLSX-Datei hoch, geben einen Blattnamen und einen Zellbereich ein und es werden eine CREATE TABLE-Anweisung und eine Reihe von INSERT-Anweisungen generiert, um alle Ihre Daten in eine MySQL-Datenbank zu importieren.
(Haftungsausschluss: Ich helfe beim Ausführen von SQLizer)
quelle
Im Folgenden finden Sie eine weitere Methode zum Importieren von Tabellenkalkulationsdaten in eine MySQL-Datenbank, für die keine zusätzliche Software erforderlich ist. Angenommen, Sie möchten Ihre Excel-Tabelle in die
sales
Tabelle einer MySQL-Datenbank mit dem Namen importierenmydatabase
.Wählen Sie die relevanten Zellen aus:
In Mr. Data Converter einfügen und die Ausgabe als MySQL auswählen:
Ändern Sie den Tabellennamen und die Spaltendefinitionen entsprechend Ihren Anforderungen in der generierten Ausgabe:
Wenn Sie MySQL Workbench verwenden oder bereits über
mysql
die Befehlszeile angemeldet sind , können Sie die generierten SQL-Anweisungen aus Schritt 3 direkt ausführen. Fügen Sie andernfalls den Code in eine Textdatei ein (z. B.import.sql
) und führen Sie diesen Befehl über eine Unix-Shell aus:mysql mydatabase < import.sql
Weitere Möglichkeiten zum Importieren aus einer SQL-Datei finden Sie in dieser Antwort zum Stapelüberlauf .
quelle
Es gibt tatsächlich mehrere Möglichkeiten, eine Excel-Datei mit unterschiedlichem Grad an Komplexität und Erfolg in eine MySQL-Datenbank zu importieren.
Excel2MySQL . Zweifellos der einfachste und schnellste Weg, Excel-Daten in MySQL zu importieren. Es unterstützt alle Versionen von Excel und erfordert keine Office-Installation.
LOAD DATA INFILE : Diese beliebte Option ist möglicherweise die technischste und erfordert ein gewisses Verständnis der Ausführung von MySQL-Befehlen. Sie müssen Ihre Tabelle vor dem Laden manuell erstellen und VARCHAR-Feldtypen mit geeigneter Größe verwenden. Daher sind Ihre Felddatentypen nicht optimiert. LOAD DATA INFILE hat Probleme beim Importieren großer Dateien, die die Größe 'max_allowed_packet' überschreiten. Besondere Aufmerksamkeit ist erforderlich, um Probleme beim Importieren von Sonderzeichen und fremden Unicode-Zeichen zu vermeiden. Hier ist ein aktuelles Beispiel, mit dem ich eine CSV-Datei mit dem Namen test.csv importiert habe.
phpMyAdmin : Wählen Sie zuerst Ihre Datenbank und dann die Registerkarte Importieren aus. phpMyAdmin erstellt automatisch Ihre Tabelle und skaliert Ihre VARCHAR-Felder, optimiert jedoch nicht die Feldtypen. phpMyAdmin hat Probleme beim Importieren großer Dateien, die die Größe 'max_allowed_packet' überschreiten.
MySQL für Excel : Dies ist ein kostenloses Excel-Add-In von Oracle. Diese Option ist etwas langwierig, da ein Assistent verwendet wird und der Import bei großen Dateien langsam und fehlerhaft ist. Dies kann jedoch eine gute Option für kleine Dateien mit VARCHAR-Daten sein. Felder sind nicht optimiert.
quelle
Ich bin mir nicht sicher, ob Sie all dieses Setup haben, aber für mich verwende ich PHP und MYSQL. Also benutze ich eine PHP-Klasse PHPExcel. Dies nimmt eine Datei in fast jedem Format, xls, xlsx, cvs, ... und lässt Sie dann lesen und / oder einfügen.
Am Ende lade ich das Excel in ein phpexcel-Objekt und durchlaufe dann alle Zeilen. Basierend auf meinen Wünschen schreibe ich einen einfachen SQL-Einfügebefehl, um die Daten in der Excel-Datei in meine Tabelle einzufügen.
Am Frontend ist es ein wenig Arbeit, aber es geht nur darum, einige der vorhandenen Codebeispiele zu optimieren. Aber wenn Sie es gewählt haben, um Änderungen am Import vorzunehmen, ist dies einfach und schnell.
quelle
Der beste und einfachste Weg ist die Verwendung der App "MySQL für Excel", die eine kostenlose App von Oracle ist. Diese App hat ein Plugin hinzugefügt, um Excel zu exportieren und Daten nach MySQL zu importieren. Sie können das hier herunterladen
quelle
Beim Verwenden von Textdateien zum Importieren von Daten hatte ich Probleme mit Anführungszeichen und der Formatierung von Zahlen durch Excel. In meiner Excel-Konfiguration wurde beispielsweise das Komma als Dezimaltrennzeichen anstelle des Punkts verwendet.
Jetzt verwende ich Microsoft Access 2010, um meine MySQL-Tabelle als verknüpfte Tabelle zu öffnen. Dort kann ich einfach Zellen von Excel nach Access kopieren und einfügen.
Installieren Sie dazu zuerst den MySql-ODBC-Treiber und erstellen Sie eine ODBC-Verbindung . Öffnen Sie dann im Zugriff auf der Registerkarte "Externe Daten" das Dialogfeld "ODBC-Datenbank" und verknüpfen Sie es über die ODBC-Verbindung mit einer beliebigen Tabelle.
Mit MySql Workbench können Sie Ihre Excel-Daten auch kopieren und in das Ergebnisraster von MySql Workbench einfügen. Ich habe in dieser Antwort detaillierte Anweisungen gegeben .
quelle
Für ein schrittweises Beispiel zum Importieren von Excel 2007 in MySQL mit korrekter Codierung (UTF-8) suchen Sie nach diesem Kommentar:
"Gepostet von Mike Laird am 13. Oktober 2010, 00:50 Uhr"
in der nächsten URL:
http://dev.mysql.com/doc/refman/5.1/en/load-data.html
quelle
Sie können DocChow verwenden , eine sehr intuitive GIU zum Importieren von Excel in MySQL, die auf den meisten gängigen Plattformen (einschließlich Linux) kostenlos ist.
Insbesondere, wenn Sie über Datum, Datum / Uhrzeit-Datentypen, DocChow problemlos mit Datentypen umgehen . Wenn Sie mit mehreren Excel-Tabellen arbeiten, die Sie in eine MySQL-Tabelle importieren möchten, erledigt DocChow die Drecksarbeit.
quelle
Schritt 1 Erstellen Sie Ihre CSV-Datei
Schritt 2 Melden Sie sich bei Ihrem MySQL-Server an
Schritt 3 Laden Sie Ihre CSV-Datei
quelle
Ein weiteres nützliches Tool und als MySQL-Front-End-Ersatz ist Toad for MySQL . Leider nicht mehr von Quest unterstützt , sondern eine brillante IDE für MySQL mit IMPORT- und EXPORT-Assistenten, die für die meisten Dateitypen geeignet sind.
quelle