---
title: "CSV in SQL umwandeln"
description: "Wandle CSV-Dateien im Browser in SQL für PostgreSQL, MySQL, MariaDB, SQLite, SQL Server oder Oracle um. Kostenlos, ohne Upload."
canonical: https://intosql.com/de/csv-in-sql
last_updated: 2026-10-15
---

# CSV in SQL umwandeln

Leg deine CSV-Datei ab und wähle deine Datenbank, um ein SQL-Skript mit CREATE TABLE- und INSERT-Anweisungen zu erhalten. Jede Spalte bekommt einen Typ, und jede Korrektur wird mit Zeile und Spalte aufgeführt.

## Eine CSV-Datei, sechs Datenbanken

Das Beispiel oben, ventas_2024.csv, und der Typ, den jede seiner Spalten in jeder Datenbank bekommt.

| In der Datei | Erster Wert | PostgreSQL | MySQL | MariaDB | SQLite | SQL Server | Oracle |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Folio | `00412` | `text` | `varchar(8)` | `varchar(8)` | `TEXT` | `nvarchar(8)` | `VARCHAR2(8 CHAR)` |
| Cliente | `Peña Muñoz` | `text` | `varchar(16)` | `varchar(16)` | `TEXT` | `nvarchar(16)` | `VARCHAR2(16 CHAR)` |
| Ciudad | `Mérida` | `text` | `varchar(16)` | `varchar(16)` | `TEXT` | `nvarchar(16)` | `VARCHAR2(16 CHAR)` |
| Fecha | `15/02/2024` | `date` | `date` | `date` | `DATE` | `date` | `DATE` |
| Importe | `1.234,50` | `numeric(6,2)` | `decimal(6,2)` | `decimal(6,2)` | `NUMERIC(6,2)` | `decimal(6,2)` | `NUMBER(6,2)` |
| Pagado | `sí` | `boolean` | `tinyint(1)` | `tinyint(1)` | `BOOLEAN` | `bit` | `NUMBER(1)` |

## Das Skript in deine Datenbank laden

Der Download ist eine einfache .sql-Datei. Jede Datenbank führt sie mit ihren eigenen Werkzeugen aus.

### PostgreSQL

```shell
psql -v ON_ERROR_STOP=1 -d mydb -f ventas_2024.postgresql.sql
```

ON_ERROR_STOP lässt psql beim ersten Fehler anhalten. Das Skript läuft in einer Transaktion, ein fehlgeschlagener Import lässt die Datenbank also unverändert. Öffne das Skript in pgAdmin oder DBeaver in einem Abfragefenster und führe es aus.

Ohne Skript:

```shell
intosql load ventas_2024.csv --into postgres://user@localhost/mydb
```

### MySQL

```shell
mysql --default-character-set=utf8mb4 mydb < ventas_2024.mysql.sql
```

Das Skript setzt utf8mb4 selbst; das Flag sorgt dafür, dass der Client genauso sendet, damit Akzente unverändert ankommen. Wähle in MySQL Workbench File, Run SQL Script und dann die Datei.

Ohne Skript:

```shell
intosql load ventas_2024.csv --into mysql://user@localhost/mydb
```

### MariaDB

```shell
mariadb --default-character-set=utf8mb4 mydb < ventas_2024.mariadb.sql
```

Das Skript setzt utf8mb4 selbst; das Flag sorgt dafür, dass der Client genauso sendet, damit Akzente unverändert ankommen. Öffne das Skript in HeidiSQL oder DBeaver und führe es aus.

Ohne Skript:

```shell
intosql load ventas_2024.csv --into mariadb://user@localhost/mydb
```

### SQLite

```shell
sqlite3 ventas_2024.db < ventas_2024.sqlite.sql
```

Die Datenbankdatei wird angelegt, falls sie nicht existiert. Der Konverter lädt auch eine fertige .sqlite-Datenbank herunter, ganz ohne Befehl. Wähle in DB Browser for SQLite Execute SQL, öffne das Skript und führe es aus.

Ohne Skript:

```shell
intosql load ventas_2024.csv --into ventas_2024.db
```

### SQL Server

```shell
sqlcmd -S localhost -d mydb -f 65001 -i ventas_2024.sql_server.sql
```

-f 65001 liest die Datei als UTF-8, damit Akzente und ñ so ankommen, wie sie geschrieben sind. Öffne die Datei in SQL Server Management Studio oder Azure Data Studio und wähle Execute.

### Oracle

```shell
sqlplus user@//localhost/mydb @ventas_2024.oracle.sql
```

Das Skript schaltet Substitutionsvariablen aus (SET DEFINE OFF), damit ein kaufmännisches Und in deinen Daten erhalten bleibt. Öffne das Skript in SQL Developer und wähle Run Script (F5).

## Was IntoSQL in CSV-Dateien liest

- Die Kodierung wird erkannt, auch Windows-1252 und UTF-16, sodass Akzente und ñ unverändert ankommen.
- Das Trennzeichen wird erkannt: Komma, Semikolon, Tabulator oder senkrechter Strich. Bei Semikolon werden Dezimalkommas wie 1.234,50 als Zahlen gelesen.
- Werte in Anführungszeichen können Trennzeichen und Zeilenumbrüche enthalten.

## Was du über jede Datenbank wissen solltest

- Wähle die Datenbank, sobald die Datei geöffnet ist: Jede bekommt die Typen, die sie unterstützt.

### Wie jede Art von Wert in jeder Datenbank gespeichert wird

| Wert | PostgreSQL | MySQL | MariaDB | SQLite | SQL Server | Oracle |
| --- | --- | --- | --- | --- | --- | --- |
| Ja und nein | `boolean` | `tinyint(1)` | `tinyint(1)` | `BOOLEAN` | `bit` | `NUMBER(1)` |
| Ganze Zahlen | `integer` | `int` | `int` | `INTEGER` | `int` | `NUMBER(10)` |
| Große ganze Zahlen | `bigint` | `bigint` | `bigint` | `INTEGER` | `bigint` | `NUMBER(19)` |
| Dezimalzahlen | `numeric(p,s)` | `decimal(p,s) · double` | `decimal(p,s) · double` | `NUMERIC(p,s) · TEXT` | `decimal(p,s)` | `NUMBER(p,s)` |
| Gleitkommazahlen | `double precision` | `double` | `double` | `REAL` | `float` | `BINARY_DOUBLE` |
| Datumswerte | `date` | `date` | `date` | `DATE` | `date` | `DATE` |
| Uhrzeiten | `time` | `time(6) · time` | `time(6) · time` | `TIME` | `time` | `INTERVAL DAY(0) TO SECOND` |
| Datum mit Uhrzeit | `timestamp` | `datetime(6) · datetime` | `datetime(6) · datetime` | `DATETIME` | `datetime2` | `TIMESTAMP` |
| Datum mit Uhrzeit und Zeitversatz | `timestamptz` | `datetime(6) · datetime` | `datetime(6) · datetime` | `DATETIME` | `datetimeoffset` | `TIMESTAMP WITH TIME ZONE` |
| Text | `text` | `varchar(n) · text · mediumtext · longtext` | `varchar(n) · text · mediumtext · longtext` | `TEXT` | `nvarchar(n) · nvarchar(max)` | `VARCHAR2(n CHAR) · CLOB` |

## Fragen zu CSV zu SQL

### Wie konvertiere ich CSV zu SQL?

Leg deine Datei auf den Konverter oben auf dieser Seite und wähle deine Datenbank: PostgreSQL, MySQL, MariaDB, SQLite, SQL Server oder Oracle. Jede bekommt die Typen, die sie unterstützt. Lade das Skript herunter und führe es in deiner Datenbank aus.

### Was, wenn meine CSV Semikolons oder Tabs verwendet?

Das Trennzeichen wird erkannt: Komma, Semikolon, Tab oder senkrechter Strich. Du kannst es auch unter Weitere Optionen festlegen. Mit Semikolon werden Dezimalkommas wie 1.234,50 als Zahlen gelesen.

### Welche Typen werden in jeder Datenbank verwendet?

Jede Datenbank bekommt ihre eigenen: Ja/Nein-Werte sind boolean in PostgreSQL, tinyint(1) in MySQL und MariaDB, bit in SQL Server und NUMBER(1) in Oracle. Die Tabelle auf dieser Seite listet jede Art von Wert.

### Bleiben führende Nullen erhalten?

Ja. Ein Code wie 00412 bleibt in jeder Datenbank Text, geschrieben als '00412', damit keine Null verloren geht.

### Kann es die Daten ohne Skript laden?

Ja. Die Kommandozeile lädt kostenlos in SQLite, und mit IntoSQL Pro laden die Desktop-App und die Kommandozeile in PostgreSQL, MySQL und MariaDB. Für SQL Server und Oracle führst du das Skript aus.

### Wie groß darf die CSV-Datei sein?

Der Browser liest eine CSV beim Einströmen, daher funktionieren Dateien von mehreren Gigabyte. Auf einem Apple-M4-Laptop konvertiert die Kommandozeile eine 174-MB-CSV mit einer Million Zeilen in unter einer Sekunde.

## CSV in andere Datenbanken

- [CSV in PostgreSQL umwandeln](https://intosql.com/de/csv-in-postgresql)
- [CSV in MySQL umwandeln](https://intosql.com/de/csv-in-mysql)
- [CSV in MariaDB umwandeln](https://intosql.com/de/csv-in-mariadb)
- [CSV in SQLite umwandeln](https://intosql.com/de/csv-in-sqlite)
- [CSV in SQL Server umwandeln](https://intosql.com/de/csv-in-sql-server)
- [CSV in Oracle umwandeln](https://intosql.com/de/csv-in-oracle)

## Andere Dateien in SQL

- [Excel in SQL umwandeln](https://intosql.com/de/excel-in-sql)
- [JSON in SQL umwandeln](https://intosql.com/de/json-in-sql)
