Конвертер CSV в SQL

Чтобы загрузить данные CSV в базу данных, обычно приходится запускать инструмент импорта или писать команды COPY/LOAD DATA INFILE, которые работают только с локальными файлами. Для небольших наборов данных, десятков, сотен или нескольких тысяч строк, простые команды INSERT, которые можно вставить в любую консоль SQL, зачастую оказываются быстрее. Этот инструмент принимает CSV и имя таблицы и создаёт по одной команде INSERT на каждую строку: идентификаторы заключаются в обратные кавычки, а значения, в одинарные, и всё это безопасно для выполнения.

Как формируется SQL-запрос

  1. 1

    Вставьте CSV

    Стандартный CSV с необязательной строкой заголовка. Парсер обрабатывает ячейки в кавычках, содержащие разделители.

  2. 2

    Задайте имя таблицы

    Все символы в имени таблицы, кроме букв и цифр, заменяются подчёркиваниями; если имя не задано, используется `my_table`.

  3. 3

    Столбцы берутся из заголовка

    Если режим заголовка включён, первая строка становится списком столбцов; иначе столбцы получают имена `column_1`, `column_2` и так далее.

  4. 4

    Одна команда INSERT на строку данных

    Каждая строка превращается в `INSERT INTO table (cols) VALUES (...)`. Значения заключаются в одинарные кавычки, а одинарные кавычки внутри значения удваиваются.

Диалект, кавычки и когда стоит выбрать другой способ

Генератор создаёт SQL в стиле MySQL, где идентификаторы заключены в обратные кавычки, а значения, в одинарные. Большинство баз данных принимают такой SQL с небольшими правками.

Краткий справочник по диалектам

База данных Кавычки для идентификаторов Примечания
MySQL обратные кавычки Работает без изменений.
MariaDB обратные кавычки Работает без изменений.
PostgreSQL двойные кавычки Перед запуском замените ` на ".
SQLite двойные кавычки Замените ` на " или уберите кавычки у идентификаторов.
SQL Server квадратные скобки Замените ` на []; для Unicode используйте N'...'.

Как экранируются значения

Все значения заключаются в одинарные кавычки, а одинарные кавычки внутри них удваиваются (O'Brien превращается в 'O''Brien'). Это способ по стандарту SQL-92, и он работает во всех основных базах данных. Конвертер не приводит типы: всё выводится как строковый литерал, поэтому при столбце типа INT неявное преобразование базы данных превратит '42' в целое число.

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

  • Сначала создайте таблицу. Конвертер выдаёт только команды INSERT, но не CREATE TABLE. Сочетайте его со схемой, которую вы определили вручную или сгенерировали своим ORM.
  • Разбивайте большие файлы. Если у вашего SQL-клиента есть ограничение на размер запроса, вставляйте по 500–1000 строк за раз.
  • Оборачивайте в транзакцию. Для более чем нескольких сотен строк обрамляйте вставку командами BEGIN; и COMMIT; (или START TRANSACTION;/COMMIT;). Это гораздо быстрее, чем автоматически фиксировать каждую команду по отдельности.

Когда обойтись без генерации SQL

Если в файле более 50 000 строк, нативные инструменты массовой загрузки (COPY в PostgreSQL, LOAD DATA INFILE в MySQL и bcp в SQL Server) работают на порядок быстрее, чем INSERT из скрипта. Этот инструмент подходит для быстрого импорта, наполнения тестовыми данными и разовых миграций.

Часто задаваемые вопросы

Нет. Он выдаёт только команды INSERT. Заранее определите схему сами с помощью CREATE TABLE, так вы сохраните контроль над типами столбцов, их длиной и ограничениями, а не оставите это на догадки конвертера.

Достаточно одного изменения: замените обратные кавычки вокруг имён таблицы и столбцов на двойные кавычки. Значения заключены в одинарные кавычки и выполнятся без правок в любом диалекте SQL-92.

Одинарные кавычки внутри значений удваиваются (O''Brien), это стандартное экранирование в SQL. Обратные слэши, знаки процента и подчёркивания передаются буквально; специальными они становятся только в шаблонах LIKE.

Да. CSV отправляется на наш сервер для генерации SQL. Он не сохраняется и не добавляется в ссылку на страницу.

Сопутствующие инструменты

Конвертер MKV в MP4

Конвертируйте видео MKV в MP4 для более плавного воспроизведения на iPhone, iPad, в QuickTime, браузерах, телевизорах и редакторах. Загрузите файл .mkv и скачайте совместимый .mp4.

Разделитель листов Excel

Разделяйте книгу XLSX или XLS по вкладкам листов, блокам строк данных или значениям столбца в браузере. Скачивайте один XLSX или локальный ZIP без загрузки файла.

Конвертер M4A в MP3

Конвертируйте аудио M4A в MP3 для более широкой совместимости. Загрузите файл .m4a и скачайте совместимую копию .mp3.

Объединение листов Excel

Локально объединяйте файлы XLSX, XLS, XLSM, XLSB или ODS. Сохраняйте листы отдельно либо добавляйте строки с одинаковыми заголовками, затем скачивайте XLSX.

CSV в Excel

Преобразуйте CSV в книгу XLSX с одним листом прямо в браузере. Проверьте разделители, сохраните идентификаторы, распознайте безопасные числа и не загружайте содержимое файла.

Конвертер субтитров

Преобразуйте субтитры SRT и WebVTT локально, проверяйте время реплик, сохраняйте многострочный текст и скачивайте результат.

Инструмент доступен на других языках