noch ein totaler Anfänger - Daten in Datenbank hochladen

jan08

Neuer Benutzer
Beiträge
1
Hallo,

ich habe bis gestern mit Access gearbeitet, aber bin dort an die Grenzen gestoßen. Kann mir jemand sagen, wie ich möglichst einfach CSV- oder Excel-Dateien in eine Tabelle hochladen kann? Die erste Zeile enthält bereits die Feldnamen. Bei Access geht es ganz einfach. Das System rät die Feldeigenschaften und lädt selbstständig hoch. Leider bricht es immer wieder ab. Wenn es bei mySQL nicht so einfach geht: Welche Schritte genau sind notwendig? Möglichst idiotensicher geschreiben, welche Tools es dafür gibt und was genau man aufrufen muss.

Meine Tabelle hat 240 Felder, die mit Semikolon getrennt sind, und 1.600.000 Zeilen. Im Schnitt sind es 10.000 Zeichen pro Datensatz. Die Daten sind aktuell in insgesamt 16 CSV-Dateien zu je 100.000 Zeilen verteilt.

Viele Grüße

Janny

P. S. Ich habe mySQL auf WinXP installiert und will meinen Laptop als Client und Server gleichzeitig verwenden.
 
Werbung:
Hallo,

ich habe bis gestern mit Access gearbeitet, aber bin dort an die Grenzen gestoßen. Kann mir jemand sagen, wie ich möglichst einfach CSV- oder Excel-Dateien in eine Tabelle hochladen kann? Die erste Zeile enthält bereits die Feldnamen. Bei Access geht es ganz einfach. Das System rät die Feldeigenschaften und lädt selbstständig hoch. Leider bricht es immer wieder ab.

Nun ja, geht vielleicht einfach, geht aber letztendlich doch nicht. Wo ist da der Sinn?

Wenn es bei mySQL nicht so einfach geht: Welche Schritte genau sind notwendig? Möglichst idiotensicher geschreiben, welche Tools es dafür gibt und was genau man aufrufen muss.
Schau ins Handbuch bzgl. LOAD DATA. Damit kann man CSV-Zeugs einlesen.

Die Doku zu PostgreSQL sagt zum Thema:
Code:
test=# \h copy
Command:     COPY
Description: copy data between a file and a table
Syntax:
COPY table_name [ ( column_name [, ...] ) ]
    FROM { 'filename' | STDIN }
    [ [ WITH ] ( option [, ...] ) ]

COPY { table_name [ ( column_name [, ...] ) ] | ( query ) }
    TO { 'filename' | STDOUT }
    [ [ WITH ] ( option [, ...] ) ]

where option can be one of:

    FORMAT format_name
    OIDS [ boolean ]
    DELIMITER 'delimiter_character'
    NULL 'null_string'
    HEADER [ boolean ]
    QUOTE 'quote_character'
    ESCAPE 'escape_character'
    FORCE_QUOTE { ( column_name [, ...] ) | * }
    FORCE_NOT_NULL ( column_name [, ...] ) |
    ENCODING 'encoding_name'

So ähnlich könnte es in MySQL sein, das nutze ich aber nicht, aus vielen Gründen.

Meine Tabelle hat 240 Felder, die mit Semikolon getrennt sind, und 1.600.000 Zeilen.

240 Felder sind sehr wahrscheinlich ein deutlicher Hinweis auf völlig krankes Design. Das klingt nach völliger Mißachtung der Normalisierungsregeln. Dein Spaß an einer DB-Lösung wird sich sehr wahrscheinlich in Grenzen halten.

Andreas
 
Zurück
Oben