~/tools/csv/to-sql-insert

CSV

CSV to SQL INSERT

Сгенерировать SQL INSERT-выражения из CSV.

Как это работает

Данные лежат в CSV файле после экспорта из Excel, а нужно быстро загрузить их в таблицу базы данных без настройки полноценного ETL пайплайна ради разовой задачи? Csv to sql insert online генерирует готовые SQL команды INSERT по каждой строке таблицы, которые можно сразу скопировать в консоль базы данных.

Инструмент автоматически определяет, нужно ли оборачивать значение в кавычки, числовые значения вставляются как есть, а текстовые оборачиваются в одинарные кавычки с правильным экранированием внутренних кавычек через удвоение, что защищает от банальных синтаксических ошибок SQL при значениях с апострофом внутри.

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

Частые вопросы

Подходит ли сгенерированный SQL для больших объемов данных, тысячи строк?

Технически да, но для действительно больших объемов данных обычно эффективнее использовать специализированные механизмы массовой загрузки конкретной базы данных, вроде COPY в PostgreSQL, вместо тысяч отдельных операторов INSERT.

Как экранируются одинарные кавычки внутри текстовых значений?

Одинарная кавычка внутри значения удваивается по стандартному SQL правилу экранирования, это защищает от преждевременного закрытия строкового литерала и связанных с этим синтаксических ошибок или уязвимостей.

Совместим ли синтаксис результата с MySQL, PostgreSQL и SQLite одновременно?

Базовый синтаксис INSERT INTO с перечислением колонок и значений через VALUES является стандартным SQL и работает во всех трех перечисленных системах управления базами данных без изменений.

Что происходит с пустыми ячейками csv при генерации SQL?

Пустая ячейка превращается в ключевое слово NULL в сгенерированном запросе, а не в пустую строку в кавычках, это обычно более корректное представление отсутствующего значения для базы данных.