---
title: "Конвертация CSV в SQL"
description: "Конвертируйте файлы CSV в SQL для PostgreSQL, MySQL, MariaDB, SQLite, SQL Server или Oracle в браузере. Бесплатно, файл не загружается."
canonical: https://intosql.com/ru/csv-v-sql
last_updated: 2026-10-15
---

# Конвертация CSV в SQL

Перетащите файл CSV и выберите базу данных, чтобы получить скрипт SQL с командами CREATE TABLE и INSERT. Каждый столбец получает тип, а каждое исправление указано со строкой и столбцом.

## Один файл CSV, шесть баз данных

Пример выше, ventas_2024.csv, и тип, который каждый его столбец получает в каждой базе данных.

| В файле | Первое значение | 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)` |

## Загрузите скрипт в свою базу данных

Вы скачиваете обычный файл .sql. Каждая база данных запускает его своими средствами.

### PostgreSQL

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

ON_ERROR_STOP останавливает psql на первой ошибке. Скрипт выполняется в одной транзакции, поэтому неудачная загрузка оставляет базу без изменений. В pgAdmin или DBeaver откройте скрипт в окне запроса и выполните его.

Без скрипта:

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

### MySQL

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

Скрипт сам задает utf8mb4; флаг заставляет клиент передавать данные так же, поэтому кириллица и другие символы доходят без искажений. В MySQL Workbench выберите File, Run SQL Script и укажите файл.

Без скрипта:

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

### MariaDB

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

Скрипт сам задает utf8mb4; флаг заставляет клиент передавать данные так же, поэтому кириллица и другие символы доходят без искажений. В HeidiSQL или DBeaver откройте скрипт и выполните его.

Без скрипта:

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

### SQLite

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

Файл базы данных создается, если его нет. Конвертер также скачивает готовую базу .sqlite, вообще без команд. В DB Browser for SQLite выберите Execute SQL, откройте скрипт и выполните его.

Без скрипта:

```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 читает файл как UTF-8, поэтому кириллица и ñ доходят в том виде, в котором записаны. В SQL Server Management Studio или Azure Data Studio откройте файл и выберите Execute.

### Oracle

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

Скрипт отключает переменные подстановки (SET DEFINE OFF), поэтому амперсанд в ваших данных остается амперсандом. В SQL Developer откройте скрипт и выберите Run Script (F5).

## Что IntoSQL читает в файлах CSV

- Кодировка определяется автоматически, включая Windows-1252 и UTF-16, поэтому буквы с диакритикой и ñ приходят без искажений.
- Разделитель определяется автоматически: запятая, точка с запятой, табуляция или вертикальная черта. При точке с запятой десятичные запятые, как в 1.234,50, читаются как числа.
- Значения в кавычках могут содержать разделители и переносы строк.

## Что нужно знать о каждой базе данных

- Выберите базу данных после открытия файла: каждая получает типы, которые поддерживает.

### Как каждый вид значений хранится в каждой базе данных

| Значение | PostgreSQL | MySQL | MariaDB | SQLite | SQL Server | Oracle |
| --- | --- | --- | --- | --- | --- | --- |
| Да и нет | `boolean` | `tinyint(1)` | `tinyint(1)` | `BOOLEAN` | `bit` | `NUMBER(1)` |
| Целые числа | `integer` | `int` | `int` | `INTEGER` | `int` | `NUMBER(10)` |
| Большие целые числа | `bigint` | `bigint` | `bigint` | `INTEGER` | `bigint` | `NUMBER(19)` |
| Десятичные числа | `numeric(p,s)` | `decimal(p,s) · double` | `decimal(p,s) · double` | `NUMERIC(p,s) · TEXT` | `decimal(p,s)` | `NUMBER(p,s)` |
| Числа с плавающей точкой | `double precision` | `double` | `double` | `REAL` | `float` | `BINARY_DOUBLE` |
| Даты | `date` | `date` | `date` | `DATE` | `date` | `DATE` |
| Время суток | `time` | `time(6) · time` | `time(6) · time` | `TIME` | `time` | `INTERVAL DAY(0) TO SECOND` |
| Даты со временем | `timestamp` | `datetime(6) · datetime` | `datetime(6) · datetime` | `DATETIME` | `datetime2` | `TIMESTAMP` |
| Даты со временем и смещением | `timestamptz` | `datetime(6) · datetime` | `datetime(6) · datetime` | `DATETIME` | `datetimeoffset` | `TIMESTAMP WITH TIME ZONE` |
| Текст | `text` | `varchar(n) · text · mediumtext · longtext` | `varchar(n) · text · mediumtext · longtext` | `TEXT` | `nvarchar(n) · nvarchar(max)` | `VARCHAR2(n CHAR) · CLOB` |

## Вопросы о CSV в SQL

### Как конвертировать CSV в SQL?

Перетащите файл в конвертер в верхней части этой страницы и выберите базу данных: PostgreSQL, MySQL, MariaDB, SQLite, SQL Server или Oracle. Каждая получает типы, которые поддерживает. Скачайте скрипт и запустите его в своей базе.

### Что, если в моем CSV точки с запятой или табуляции?

Разделитель определяется автоматически: запятая, точка с запятой, табуляция или вертикальная черта. Его также можно задать в разделе Другие параметры. При точке с запятой десятичные запятые вроде 1.234,50 читаются как числа.

### Какие типы используются в каждой базе данных?

У каждой базы свои: значения да и нет - это boolean в PostgreSQL, tinyint(1) в MySQL и MariaDB, bit в SQL Server и NUMBER(1) в Oracle. Таблица на этой странице перечисляет каждый вид значений.

### Сохраняются ли ведущие нули?

Да. Код вроде 00412 остается текстом в любой базе данных и записывается как '00412', поэтому ни один ноль не теряется.

### Можно ли загрузить данные без скрипта?

Да. Командная строка бесплатно загружает в SQLite, а с IntoSQL Pro приложение для компьютера и командная строка загружают в PostgreSQL, MySQL и MariaDB. Для SQL Server и Oracle запустите скрипт.

### Насколько большим может быть файл CSV?

Браузер читает CSV потоково, по мере загрузки, поэтому работают файлы в несколько гигабайт. На ноутбуке с Apple M4 командная строка конвертирует CSV 174 МБ с миллионом строк меньше чем за секунду.

## CSV в другие базы данных

- [Конвертация CSV в PostgreSQL](https://intosql.com/ru/csv-v-postgresql)
- [Конвертация CSV в MySQL](https://intosql.com/ru/csv-v-mysql)
- [Конвертация CSV в MariaDB](https://intosql.com/ru/csv-v-mariadb)
- [Конвертация CSV в SQLite](https://intosql.com/ru/csv-v-sqlite)
- [Конвертация CSV в SQL Server](https://intosql.com/ru/csv-v-sql-server)
- [Конвертация CSV в Oracle](https://intosql.com/ru/csv-v-oracle)

## Другие файлы в SQL

- [Конвертация Excel в SQL](https://intosql.com/ru/excel-v-sql)
- [Конвертация JSON в SQL](https://intosql.com/ru/json-v-sql)
