UTILS.
100% в браузере
🗄

Генератор SQL INSERT из CSV

Сгенерируйте CREATE TABLE и экранированные INSERT из CSV с выводом типов.

результат

Об этом инструменте

CSV to SQL — это бесплатный генератор прямо в браузере, который преобразует вставленный CSV в SQL-операторы: необязательный CREATE TABLE с выведенными типами столбцов плюс по одному экранированному INSERT на строку. Всё происходит на вашем устройстве, поэтому ваши данные никогда не загружаются на сервер.

Инструмент анализирует каждый столбец и определяет, является ли значение целым числом, десятичным, датой или текстом, а затем сопоставляет их с правильными типами и способом экранирования идентификаторов для выбранного вами диалекта — MySQL, PostgreSQL, SQLite или SQL Server. Строковые значения безопасно экранируются, пустые ячейки становятся NULL, а числовые ячейки остаются без кавычек.

Поскольку инструмент работает локально, это приватный и удобный офлайн-способ загрузить данные из таблицы в базу данных без мастера импорта, и вы можете скопировать SQL или скачать его как файл .sql.

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

Как определяются типы столбцов?
Столбец получает тип integer, когда каждое непустое значение является целым числом, decimal — когда значения числовые с дробной частью, date — когда они соответствуют YYYY-MM-DD (при желании со временем), и text в остальных случаях. Пустые ячейки выводятся как NULL.
Что меняется между диалектами?
Различаются экранирование идентификаторов и имена типов: MySQL использует обратные кавычки и INT/VARCHAR, PostgreSQL и SQLite используют двойные кавычки (SQLite предпочитает INTEGER/REAL/TEXT), а SQL Server использует квадратные скобки с NVARCHAR. Строковые литералы во всех диалектах заключаются в одинарные кавычки с удвоением внутренних кавычек.
Какие соглашения CSV предполагаются?
Поля разбиваются по выбранному вами разделителю, поля в двойных кавычках (с удвоенными внутренними кавычками) разбираются так, что встроенные разделители не теряются, а первая строка используется как имена столбцов, если установлен флажок заголовка (иначе используются column1, column2 …).
Можно ли пропустить CREATE TABLE?
Да. Снимите флажок CREATE TABLE, чтобы выводить только операторы INSERT — удобно, когда целевая таблица уже существует и вам нужны только строки.

Больше инструментов