MySQL - Daten importieren und exportieren: Unterschied zwischen den Versionen
| Zeile 23: | Zeile 23: | ||
Import in alter Datenbank über SQL Statement (als File) | 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: | ||
| + | <pre> | ||
| + | UPDATE 'tabellenname' SET datumsfeld=UNIX_TIMESTAMP( | ||
| + | datumsfeld | ||
| + | ) WHERE 1 | ||
| + | </pre> | ||
| + | |||
| + | 4. Struktur des Feldes umwandeln in Timestamp oder int11 | ||
Version vom 25. Oktober 2007, 18:06 Uhr
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.
- 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...)
- Zusätzliche Daten generieren z.B. Händlermarge über eine Excel Funktion dazurechnen (am besten eine Vorlage nutzen und die Daten dort reinkopieren)
- Als .csv Datei speichern.
- 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 (
- 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