Перейти к инструменту
ViewCSV
Без загрузки на сервер

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

orders.csv· ПРИМЕР15 строк · 8 столбцов
Типы значений
В текстовом режиме каждое значение сохраняется точно. При распознавании используются INTEGER и REAL там, где им соответствуют все значения.
orders.csv
#order_idcustomercityproductquantityunit_priceorder_datestatus
1001041Мария ВолковСанкт-ПетербургNotebook A55145.752026-01-11pending
2001042Иван ВолковМоскваDesk lamp6108.802026-02-13pending
3001043Наталья ИвановСамараChair, ergonomic715.852026-03-21refunded
4001044Михаил КузнецовНижний НовгородCoffee beans 1kg685.332026-04-12pending
5001045Михаил МорозовОмскUSB-C cable7·2026-05-04paid
6001046Иван МорозовМоскваDesk lamp157.412026-06-18refunded
7001047 Мария Попов НовосибирскUSB-C cable7194.442026-07-15shipped
8001048Елена ПетровНовосибирскUSB-C cable4159.072026-08-02refunded
9001049Елена КузнецовОмскUSB-C cable3119.822026-09-22paid
10001050Елена НовиковСанкт-ПетербургDesk lamp839.582026-01-03shipped
11001051Михаил ФёдоровНижний НовгородNotebook A5824.522026-02-12paid
12001052Сергей СоколовКазаньChair, ergonomic875.432026-03-06paid
13001053Анна ФёдоровНижний НовгородNotebook A59149.132026-04-10shipped
14001054Анна СмирновЕкатеринбургNotebook A5218.092026-05-20refunded
15001043Наталья ИвановСамараChair, ergonomic715.852026-03-21refunded

15 строк · 1 файл Используется движок SQLite (WebAssembly), который один раз загружается с assets.viewcsv.app. Ваши данные остаются в этой вкладке.

Откройте или вставьте CSV-файл, проверьте Имя таблицы и нажмите Скачать SQLite. Вы получите файл базы данных .sqlite с одной таблицей, в которой все строки, — его можно сразу открыть в оболочке sqlite3, DB Browser for SQLite, Python или любой библиотеке SQLite. По умолчанию все столбцы имеют тип TEXT, так что 000417 остаётся 000417. Движок SQLite работает в вашем браузере как WebAssembly; CSV никогда не загружается на сервер.

Как преобразовать CSV в SQLite

  1. Откройте файл .csv, .tsv или .txt, перетащите его на инструмент или вставьте строки. Проверьте таблицу на вкладке Исходные данные; при необходимости задайте разделитель, строку заголовков или кодировку в разделе Параметры импорта.
  2. Проверьте Имя таблицы. Сначала это имя файла, где пробелы и знаки препинания заменены подчёркиваниями: orders 2026.csv превращается в orders_2026.
  3. Выберите Типы значений, при желании Первичный ключ и решите, нужно ли Записывать пустые ячейки как NULL.
  4. Нажмите Скачать SQLite и откройте файл, например командами sqlite3 orders.sqlite и SELECT * FROM orders LIMIT 10;.

При первой конвертации движок SQLite (sql.js, скомпилированный в WebAssembly) один раз скачивается с assets.viewcsv.app. Если скачать его не удалось, инструмент покажет ошибку, и можно попробовать снова; ваш файл остаётся на этом устройстве.

Чтобы преобразовать много файлов с одинаковыми настройками, выберите Пакетная конвертация нескольких файлов. Каждый файл становится отдельной базой данных с таблицей, названной по этому файлу, и все они скачиваются вместе одним ZIP-архивом. В пакетном режиме каждый файл должен быть не больше 25 МБ.

Что содержит база данных

Одну таблицу, созданную через CREATE TABLE "name" (…), с одним столбцом на каждый столбец CSV в исходном порядке; все строки вставляются в одной транзакции. Дополнительных индексов, представлений или столбцов с идентификаторами нет.

Имена таблицы и столбцовИспользуются ровно в том виде, как записаны, в двойных кавычках, поэтому пробелы, знаки препинания, зарезервированные слова и имена на кириллице работают: обращайтесь к ним как "order date". Пустой заголовок становится Column 3, повторяющийся — name (2).
Все значения как текстВариант по умолчанию. Каждый столбец объявлен как TEXT и хранит каждое значение в точности как записано.
Распознавать числа и true/falseСтолбец, все непустые значения которого — целые числа без ведущих нулей, становится INTEGER; дробные числа не больше чем с 15 значащими цифрами — REAL; столбцы true/false становятся INTEGER со значениями 1 и 0, потому что логического типа в SQLite нет. Даты и всё остальное остаются TEXT.
Первичный ключНеобязательно. Выбранный столбец объявляется как PRIMARY KEY. Его значения должны быть уникальными и непустыми, иначе инструмент остановится, не записав файл. Распознанный целочисленный ключ становится INTEGER PRIMARY KEY — псевдонимом rowid в SQLite.
Записывать пустые ячейки как NULLПо умолчанию включено. Отключите, чтобы хранить пустые ячейки как пустую строку ''.

Переносы строк, кавычки и запятые внутри значений CSV в кавычках сохраняются в значении без изменений.

Устранение неполадок

  • Конвертация останавливается на первичном ключе. В выбранном столбце есть пустое или повторяющееся значение. Найдите дубликаты с помощью проверки CSV или просмотра CSV, выберите другой столбец или установите Первичный ключ в положение Нет.
  • Не удалось скачать движок. Файл SQLite WebAssembly загружается с assets.viewcsv.app. Проверьте подключение, брандмауэр или блокировщик контента и попробуйте снова.
  • `SUM()` считает столбец текстом. У столбца тип TEXT. Конвертируйте ещё раз с Распознавать числа и true/false; если столбец всё равно остаётся текстовым, в нём есть значение, не являющееся простым числом (1,234, 12 kg, 007, а также суммы с десятичной запятой). Или приведите тип в SQL: CAST(total AS REAL).
  • Файл слишком большой для этого инструмента. Конвертация в SQLite работает с файлами до 25 МБ, 100 000 строк, 250 столбцов и 2 млн ячеек. Для файла больше создайте скрипт с помощью CSV в SQL, который обрабатывает большие файлы потоково, и выполните его в sqlite3.

Ограничения и конфиденциальность

CSV должен открываться в рабочей области браузера: до 25 МБ, 100 000 строк, 250 столбцов и 2 млн ячеек. База данных строится в памяти и экспортируется одним файлом.

Движок работает в фоновом обработчике в этой вкладке, поэтому страница не зависает, а кнопка Отмена останавливает работу. Скачивается только файл движка; CSV и база данных никогда не покидают ваше устройство.

Пример

Файл заказов с идентификаторами, начинающимися с нуля, пустой датой и двухстрочной заметкой, преобразованный с Распознавать числа и true/false, именем таблицы orders и столбцом order_id, выбранным в поле Первичный ключ, а затем открытый в оболочке sqlite3. total получил тип REAL, paid — INTEGER со значениями 1/0, а order_id и shipped_on остались TEXT. С вариантом по умолчанию Все значения как текст все шесть столбцов — TEXT, и в total хранится 129.50.

CSV
order_id,customer,total,paid,shipped_on,note
000417,"Okafor, Ada",129.50,true,2026-04-02,
000418,Mei Tan,15,false,,"Leave at door
side gate"
SQLite (оболочка sqlite3)
sqlite> .schema
CREATE TABLE "orders" ("order_id" TEXT PRIMARY KEY, "customer" TEXT, "total" REAL, "paid" INTEGER, "shipped_on" TEXT, "note" TEXT);

sqlite> SELECT order_id, total, typeof(total), paid, shipped_on, quote(note) FROM orders;
000417|129.5|real|1|2026-04-02|NULL
000418|15.0|real|0||'Leave at door
side gate'

Вопросы и ответы

Чем это отличается от CSV в SQL?

Эта страница даёт готовый файл базы данных SQLite, который можно сразу открыть. CSV в SQL записывает текстовый скрипт из операторов CREATE TABLE и INSERT, который вы выполняете сами, — для SQLite или для PostgreSQL, MySQL или SQL Server, — и умеет потоково обрабатывать файлы больше 25 МБ.

Можно ли добавить CSV в существующую базу данных?

Напрямую — нет: каждая конвертация создаёт новую базу данных с одной таблицей. Подключите её к существующей базе командой ATTACH 'orders.sqlite' AS src; и скопируйте строки с помощью INSERT INTO … SELECT * FROM src.orders;.

Почему true и false хранятся как 1 и 0?

В SQLite нет класса хранения для логических значений — они хранятся как целые числа. С Распознавать числа и true/false true становится 1, а false — 0. В текстовом режиме они остаются строками true и false.

Стандарты и справочные материалы