Перейти к содержанию

Генератор CSV в SQL INSERT

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

Входные данные
Выходные данные

Генератор CSV в SQL INSERT

Вставьте экспорт CSV и получите операторы SQL INSERT, которые можно запускать в MySQL, PostgreSQL, SQLite или SQL Server. Это самый быстрый способ заполнить таблицу из электронной таблицы, загрузить данные о приборах для тестов или переместить экспорт клиента в реальную базу данных без открытия мастера импорта. Задайте имя таблицы, вставьте строки и скопируйте операторы прямо в инструмент запросов.

Анализатор соответствует RFC 4180, поэтому поле, заключенное в двойные кавычки, может содержать разделитель, двойные кавычки "" и даже разрывы строк, не разрывая строку. Значения заключаются в кавычки так, как ожидает SQL: целые числа и десятичные дроби остаются без кавычек, пустая ячейка становится NULL, а все остальное заключено в одинарные кавычки с двойным апострофом — поэтому имя типа О'Брайен корректно экранируется, а не досрочно завершает строку. Поскольку значения читаются как текст, ведущие нули в почтовых индексах и кодах продуктов сохраняются.

«Первая строка — имена столбцов» использует ваш заголовок для списка столбцов; выключите его, и столбцы станут col1, col2 и так далее. Выберите разделитель, соответствующий вашему файлу: запятая, точка с запятой (обычно используется при экспорте в Европу) или табуляция. Включите «Объединить в одну многострочную вставку», и каждая строка будет объединена в одну вставку INTO t (…) VALUES (…),(…),(…); оператор, который загружается гораздо быстрее, чем один оператор на строку при большом импорте.

Все работает в вашем браузере и ничего не загружается, что имеет значение, когда экспорт содержит записи клиентов или внутренние данные. Скопируйте SQL, загрузите его в виде файла .txt или отправьте результат в другой инструмент, чтобы продолжить работу. Просмотрите сгенерированные операторы перед их запуском в рабочей базе данных.

FAQ

С какими базами данных SQL работает вывод?
В операторах используется стандартный синтаксис INSERT INTO… VALUES, который поддерживают MySQL, PostgreSQL, SQLite, MariaDB и SQL Server. Одинарные кавычки экранируются путем их удвоения — портативная форма, понятная каждому крупному движку.
Как заключаются в кавычки числа, текст и пустые ячейки?
Целые и десятичные числа остаются без кавычек, пустые ячейки становятся NULL, а все остальные значения заключаются в одинарные кавычки с двойными встроенными апострофами. Значение типа 007, которое вы хотите сохранить в виде текста, остается строкой, только если оно не является простым числом.
Что дает многорядный вариант?
Вместо одного INSERT на строку он выдает один оператор со многими кортежами VALUES: INSERT INTO t (…) VALUES (…),(…),(…);. Это быстрее для больших импортов, хотя очень длинные пакеты могут достичь ограничения размера оператора базы данных.
Могу ли я использовать собственные имена таблиц и столбцов?
Да. Введите имя таблицы в поле, и список столбцов будет получен из строки заголовка. Отключите параметр заголовка, если в вашем CSV-файле нет заголовка, а столбцы становятся col1, col2 и т. д.
Загружены ли мои данные куда-нибудь?
Нет. CSV анализируется, а SQL полностью создается в вашем браузере без какой-либо обработки на сервере. Строки вашей базы данных и данные о клиентах никогда не покидают ваше устройство.