---
title: "Konwersja CSV do SQL"
description: "Konwertuj pliki CSV do SQL dla PostgreSQL, MySQL, MariaDB, SQLite, SQL Server lub Oracle w przeglądarce. Za darmo, a plik nigdy nie jest wysyłany."
canonical: https://intosql.com/pl/csv-do-sql
last_updated: 2026-10-15
---

# Konwersja CSV do SQL

Upuść plik CSV i wybierz bazę danych, aby dostać skrypt SQL z instrukcjami CREATE TABLE i INSERT. Każda kolumna dostaje typ, a każda poprawka jest wymieniona z wierszem i kolumną.

## Jeden plik CSV, sześć baz danych

Przykład powyżej, ventas_2024.csv, i typ, jaki każda jego kolumna dostaje w każdej bazie danych.

| W pliku | Pierwsza wartość | 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)` |

## Załaduj skrypt do swojej bazy danych

Pobierasz zwykły plik .sql. Każda baza danych uruchamia go własnymi narzędziami.

### PostgreSQL

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

ON_ERROR_STOP zatrzymuje psql przy pierwszym błędzie. Skrypt działa w jednej transakcji, więc nieudane ładowanie zostawia bazę bez zmian. W pgAdmin lub DBeaver otwórz skrypt w oknie zapytania i uruchom go.

Bez skryptu:

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

### MySQL

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

Skrypt sam ustawia utf8mb4; flaga sprawia, że klient wysyła go tak samo, więc polskie znaki docierają bez zmian. W MySQL Workbench wybierz File, Run SQL Script i wskaż plik.

Bez skryptu:

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

### MariaDB

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

Skrypt sam ustawia utf8mb4; flaga sprawia, że klient wysyła go tak samo, więc polskie znaki docierają bez zmian. W HeidiSQL lub DBeaver otwórz skrypt i uruchom go.

Bez skryptu:

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

### SQLite

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

Plik bazy danych powstaje, jeśli nie istnieje. Konwerter pobiera też gotową bazę .sqlite, bez żadnego polecenia. W DB Browser for SQLite wybierz Execute SQL, otwórz skrypt i uruchom go.

Bez skryptu:

```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 odczytuje plik jako UTF-8, więc znaki diakrytyczne i ñ docierają tak, jak je zapisano. W SQL Server Management Studio lub Azure Data Studio otwórz plik i wybierz Execute.

### Oracle

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

Skrypt wyłącza zmienne podstawiania (SET DEFINE OFF), więc znak & w danych pozostaje znakiem &. W SQL Developer otwórz skrypt i wybierz Run Script (F5).

## Co IntoSQL odczytuje w plikach CSV

- Kodowanie jest wykrywane, także Windows-1252 i UTF-16, więc znaki diakrytyczne i ñ docierają bez zmian.
- Separator jest wykrywany: przecinek, średnik, tabulator lub pionowa kreska. Przy średniku przecinki dziesiętne, takie jak 1.234,50, są odczytywane jako liczby.
- Wartości w cudzysłowach mogą zawierać separatory i podziały wierszy.

## Co warto wiedzieć o każdej bazie danych

- Wybierz bazę danych po otwarciu pliku: każda dostaje typy, które obsługuje.

### Jak każdy rodzaj wartości jest zapisywany w każdej bazie danych

| Wartość | PostgreSQL | MySQL | MariaDB | SQLite | SQL Server | Oracle |
| --- | --- | --- | --- | --- | --- | --- |
| Tak i nie | `boolean` | `tinyint(1)` | `tinyint(1)` | `BOOLEAN` | `bit` | `NUMBER(1)` |
| Liczby całkowite | `integer` | `int` | `int` | `INTEGER` | `int` | `NUMBER(10)` |
| Duże liczby całkowite | `bigint` | `bigint` | `bigint` | `INTEGER` | `bigint` | `NUMBER(19)` |
| Liczby dziesiętne | `numeric(p,s)` | `decimal(p,s) · double` | `decimal(p,s) · double` | `NUMERIC(p,s) · TEXT` | `decimal(p,s)` | `NUMBER(p,s)` |
| Liczby zmiennoprzecinkowe | `double precision` | `double` | `double` | `REAL` | `float` | `BINARY_DOUBLE` |
| Daty | `date` | `date` | `date` | `DATE` | `date` | `DATE` |
| Godziny | `time` | `time(6) · time` | `time(6) · time` | `TIME` | `time` | `INTERVAL DAY(0) TO SECOND` |
| Daty z godziną | `timestamp` | `datetime(6) · datetime` | `datetime(6) · datetime` | `DATETIME` | `datetime2` | `TIMESTAMP` |
| Daty z godziną i przesunięciem | `timestamptz` | `datetime(6) · datetime` | `datetime(6) · datetime` | `DATETIME` | `datetimeoffset` | `TIMESTAMP WITH TIME ZONE` |
| Tekst | `text` | `varchar(n) · text · mediumtext · longtext` | `varchar(n) · text · mediumtext · longtext` | `TEXT` | `nvarchar(n) · nvarchar(max)` | `VARCHAR2(n CHAR) · CLOB` |

## Pytania o CSV do SQL

### Jak przekonwertować CSV do SQL?

Upuść plik na konwerter u góry tej strony i wybierz bazę danych: PostgreSQL, MySQL, MariaDB, SQLite, SQL Server lub Oracle. Każda dostaje typy, które obsługuje. Pobierz skrypt i uruchom go w swojej bazie.

### Co, jeśli mój CSV używa średników lub tabulatorów?

Separator jest wykrywany: przecinek, średnik, tabulator lub pionowa kreska. Możesz go też ustawić w Więcej opcji. Przy średniku przecinki dziesiętne, takie jak 1.234,50, są odczytywane jako liczby.

### Jakich typów używa w każdej bazie danych?

Każda baza dostaje własne: wartości tak i nie to boolean w PostgreSQL, tinyint(1) w MySQL i MariaDB, bit w SQL Server i NUMBER(1) w Oracle. Tabela na tej stronie wymienia każdy rodzaj wartości.

### Czy zachowuje zera wiodące?

Tak. Kod taki jak 00412 pozostaje tekstem w każdej bazie danych, zapisany jako '00412', więc żadne zero nie ginie.

### Czy może załadować dane bez skryptu?

Tak. Wiersz poleceń za darmo ładuje do SQLite, a z IntoSQL Pro aplikacja na komputer i wiersz poleceń ładują do PostgreSQL, MySQL i MariaDB. Dla SQL Server i Oracle uruchom skrypt.

### Jak duży może być plik CSV?

Przeglądarka odczytuje CSV strumieniowo, w miarę wczytywania, więc działają pliki o wielkości kilku gigabajtów. Na laptopie z Apple M4 wiersz poleceń konwertuje CSV 174 MB z milionem wierszy w mniej niż sekundę.

## CSV do innych baz danych

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

## Inne pliki do SQL

- [Konwersja Excel do SQL](https://intosql.com/pl/excel-do-sql)
- [Konwersja JSON do SQL](https://intosql.com/pl/json-do-sql)
