csv datei in sql übernehmen

Von: , 20.06.2011 15:37 Uhr


hallo leute,

kann mir jemand sagen wie die syntax in einer datenbank aussehen muss um eine csv sauber reinzuladen?
mit einer sql datenbank.

ich hab eine excel tabelle die mit werten gefüllt ist.
diese werte will ich in sql übernehmen.
sonst muss ich ja immer mit:
insert into .... vlaues()
das sind aber über 30.000 artikel!!!

7 Antworten zu dieser Frage

  1. Antwort von nach 5 Minuten 0 hilfreich
    Re: csv datei in sql übernehmen

    Hallo!

    Fangen wir mal mit der einfachsten Lösung an.
    Hast du es mal mit dem Import in eine DB probiert?
    ( DB auswählen recht Maus und dann Task Daten importieren)

    Ich hoff das das deine Lösung ist.
    Christian

  2. Antwort von nach 4 Stunden 0 hilfreich
    Re: csv datei in sql übernehmen

    Das funktioniert bequem über den Datenimport:
    Datenquelle auswählen und importieren. Gibts aber nur in der SQL Vollversion nicht im "Express"

  3. Antwort von nach 5 Stunden 0 hilfreich
    Re: csv datei in sql übernehmen

    Vielleicht mal ein erster Denkanstoß...

    ...unter phpMyAdmin (import) kann man eine CSV datei direkt in mySQL einlesen, hab ich zwar bislang noch nie probiert... aber ich denke zumindest eine Tabellendefinition mit den entsprechenden Feldern müsste auf der Datenbank angelegt sein...

    mfg ER

  4. Antwort von nach 16 Stunden 0 hilfreich
    Re: csv datei in sql übernehmen

    Hallo Viper,

    ein Import ist mit dem BULK Insert möglich.

    Ich habe es bis jetzt nur hinbekommen, wenn der Aufbau der SQL-Table genauso ist wie die der CSV. Also auch die Spaltenreihenfolge.

    hier die Syntax für meinen Import für MSSQL


    USE <DATABASE>

    BULK
    INSERT <TABELLENNAME>
    FROM 'c:\temp\Sachkontenstamm SKR04Passt.csv'
    WITH
    (
    FIELDTERMINATOR = ',',
    ROWTERMINATOR = '\n',
    CODEPAGE = 'ACP'
    )
    GO

    select * from DIVFIBUKONTEN
    go


    Aus irgendwelchem Gründen (wahrscheinlich durch die englische Codepage), akzeptiert mein SQLServer das Semikolon nicht. Ich habe also das Zeichen durch das Komma ersetzt.

    • Antwort von nach 16 Stunden 0 hilfreich
      Re^2: csv datei in sql übernehmen

      Hallo Leute,
      erstmal vielen Dank für euere super hilfe.
      Ich werd dann mal anfangen euere Ideen umzusetzten.

      Einen schönen Tag noch!
      LG ViperGTS

    • Antwort von nach 20 Stunden 0 hilfreich
      Re: csv datei in sql übernehmen

      Hallo Viper,

      csv direktimport geht - aber nicht per phpMyAdmin.
      Der Befehl LOAD DATA INFILE muss mit dem Dateinamen der CSV-Datei gefüttert werden. Du brauchst also ne Kommandozeile, auf der du den mysql Client startest.
      Details, und auch der Hinweis auf eine weitere Möglichkeit (mysqlimport utility) hier:
      http://dev.mysql.com/doc/refman/5.1/en/load-data.html
      bzw.
      http://dev.mysql.com/doc/refman/5.1/de/load-data.html

      Gruß
      Thomas

  5. Antwort von nach 3 Tagen 0 hilfreich
    Re: csv datei in sql übernehmen

    Leider schreiben Sie nicht mit welcher Datenbank Sie arbeiten. Die meisten Datenbanken haben ein Toolset (z.B. SQL Mangement Studio bei MS SQL Server), mit dem Sie einen Datenimport durchführen können. Dort wird dann das Datenformat (hier: csv) definiert.

    Jetzt auf diese Frage antworten.