MySQL - Daten importieren und exportieren

Aus Wikizone
Wechseln zu: Navigation, Suche

Das Problem beim Datenimport und Export ist oft die konvertierung von Datenformaten, Zeichensatz etc.


Beispiel Autohaus Wetzel

Die Daten für die Jahreswagen liegen als Excel Liste vor. Die Datenbank ist eine mySQL DB in der Version 3.23.

  1. Kopieren der Daten aus der Excel-Liste per copy & paste und Prüfen der Formate bzw. Formate verändern (Datum, Tausenderpunkte raus, Gänsefüsschen raus...)
  2. Zusätzliche Daten generieren z.B. Händlermarge über eine Excel Funktion dazurechnen (am besten eine Vorlage nutzen und die Daten dort reinkopieren)
  3. Als .csv Datei speichern.
  4. Umwandlung in sql Datei weil die alte Mysql Version keine .csv lesen kann. Dazu am einfachsten eine Lokale neuere mysql Version nehmen, csv Daten einspielen und danach als .sql Datei exportieren (
  5. Einspielen der .sql Datei z.B. über phpMyAdmin

Einstellungen: als .csv Daten Speichern (aus OOffice: utf-8, Trennzeichen ; Texttrenner Gänsefüßchen

Import in moderner mySQL : utf-8 als Importformat und Tabelle in benötigtem Zeichensatz anlegen

Export als SQL mit

  • Kompatibilitätsmodus,
  • Struktur mit Drop Table und kompletten Inserts.
  • Dabei ruhig die Spaltenüberschriften mitnehmen, die eignen sich nachher gut zur Kontrolle und können leicht über phpMyAdmin gelöscht werden.

Import in alter Datenbank über SQL Statement (als File)


Datum in Unix Timestamp umwandeln

Oft liegt ein Datum aus einer Exel oder OpenOffice Calc Tabelle als Datum vor und man kann es nicht ohne weiteres vor dem Import umwandeln. In diesem Falle hilft ein Trick.

1. Datumsformat in Tabellenkalkulation: YYYY-MM-DD erzeugen

2. Dieses Datum in Text-Feld in mySQL speichern

3. Umwandeln mit:

  UPDATE 'tabellenname' SET  datumsfeld=UNIX_TIMESTAMP(
datumsfeld
) WHERE 1 

4. Struktur des Feldes umwandeln in Timestamp oder int11