Zum Inhalt springen

CSV in SQL

CSV to SQL

Erzeugt aus einer Tabelle CREATE-TABLE- und INSERT-Anweisungen, mit abgeleiteten Typen und wählbarem Dialekt.

Verwandelt eine Tabelle in CREATE-TABLE- und INSERT-Anweisungen für PostgreSQL, MySQL, SQLite oder SQL Server, mit aus den Daten abgeleiteten Spaltentypen. Es zeigt die Spalten so, wie sie angelegt werden, bevor es irgendetwas schreibt, und dort fangen Sie eine numerische Spalte ab, die als Text hereinkam.

🔒 Läuft vollständig in Ihrem Browsersqlcsvconvertdatabase

Legen Sie die CSV ab, die als SQL herauskommen soll

Wird in diesem Tab gelesen. Nichts wird hochgeladen. Dateien aus koreanischem, japanischem, chinesischem und westlichem Excel (CP949, Shift_JIS, GBK, Windows-1252) werden erkannt.

So funktioniert es

  1. Wählen Sie den Dialekt

    Er entscheidet über den Quotierungsstil, die Auto-Increment-Syntax und den Texttyp. SQL Server bekommt NVARCHAR statt VARCHAR, und das ist der Unterschied zwischen 한글 speichern und Fragezeichen speichern.

  2. Prüfen Sie die abgeleiteten Typen

    Die Tabelle über dem SQL zeigt jede Spalte, den Bezeichner, den sie bekommt, ihren Typ und ob sie nullable ist. Eine Spalte, die Sie als INTEGER erwartet haben und die als TEXT erscheint, bedeutet, dass ein verirrter Wert darin steckt.

  3. Legen Sie die Stapelgröße fest

    Hundert Zeilen pro INSERT sind ein guter Standard. Eine pro Zeile ist leichter zu debuggen und viel langsamer auszuführen.

Häufige Fragen

Warum ist jeder Bezeichner in Anführungszeichen?

Weil eine Spalte namens order, group oder desc ein reserviertes Wort ist, und nur bei Bedarf zu quotieren hieße, die Liste reservierter Wörter für vier Dialekte richtig zu haben. Bedingungslos zu quotieren ist langweilig und funktioniert immer.

Sind koreanische Spaltennamen sicher?

In allen vier Dialekten, wenn quotiert, ja. Wenn Ihr Server sie trotzdem ablehnt, transliteriert die Nur-ASCII-Option die Bezeichner und lässt die Daten in Ruhe.

Was passiert mit Anführungszeichen in meinen Daten?

Sie werden verdoppelt, das ist das Standard-Escape in SQL. Bei MySQL werden auch Backslashes verdoppelt, weil MySQL als einziges einen Backslash innerhalb eines Literals als Escape behandelt – ohne das kommt C:\temp mit einem Tabulator darin in der Datenbank an.

Leere Zelle oder NULL?

Ihre Wahl, und sie zählt: In SQL ist eine leere Zeichenkette ein Wert und NULL das Fehlen eines Werts, und sie verhalten sich in Vergleichen, in COUNT und in einem eindeutigen Index unterschiedlich. NULL ist die Voreinstellung.

Eingabe aus

Danach

Diese Tools nehmen an, was dieses hier erzeugt, das Ergebnis kann also direkt weiter.