JSON в SQL

Бесплатный онлайн-конвертер JSON в SQL: превращает JSON-массивы в INSERT и при необходимости генерирует CREATE TABLE.

Похожие

О преобразовании JSON в SQL

Преобразование JSON в SQL — это перевод JSON-массивов и объектов в INSERT и CREATE TABLE скрипты, которые можно выполнить в реляционной базе данных.

Инструмент берет ключи объектов как имена столбцов, значения — как SQL-литералы и при необходимости генерирует DDL для структуры таблицы.

Вывод типов, различия диалектов и batch insert выполняются локально в браузере, что делает процесс быстрее и безопаснее ручной обработки.

Варианты использования

  • Импортировать JSON-ответ API в реляционную базу через INSERT-скрипты.
  • Сделать SQL seed-данные из mock JSON для разработки и тестов.
  • Построить CREATE TABLE по JSON-структуре при инициализации новой базы.
  • Перенести JSON из логов или document store в SQL-систему.
  • Показать на учебном примере, как JSON мапится в SQL-типы и INSERT.

Как использовать

  1. Вставьте JSON-массив или объект слева либо загрузите .json/.txt файл.
  2. Выберите нужный SQL-диалект на панели инструментов.
  3. При необходимости задайте имя таблицы, CREATE TABLE и размер батча.
  4. Нажмите конвертацию и проверьте SQL, а также число строк и столбцов справа.
  5. Скопируйте результат или скачайте .sql и выполните его в клиенте БД.

Функции

  • Генерация bulk INSERT из JSON-массивов с размером батча 1-1000 строк.
  • Опциональный CREATE TABLE DDL с автоматическим выводом типов колонок.
  • Поддержка 20+ SQL-диалектов, включая MySQL, PostgreSQL, SQLite и SQL Server.
  • Умный вывод типов для NULL, boolean, чисел, ISO-дат и коротких/длинных строк.
  • Автоформатирование SQL через sql-formatter для удобного чтения.
  • Полностью локальная работа без отправки JSON на сервер.

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

Как преобразовать JSON-массив в SQL INSERT?

Вставьте JSON-массив, и каждый объект будет преобразован в набор INSERT-значений: ключи станут именами столбцов, а значения — SQL-литералами.

Можно ли автоматически сгенерировать CREATE TABLE?

Да. Включите генерацию CREATE TABLE, и инструмент выведет DDL на основе найденных типов значений.

Какие SQL-диалекты поддерживаются?

Поддерживаются MySQL, PostgreSQL, SQLite, SQL Server и более 20 диалектов с автоматической адаптацией кавычек и типов.

Как работает вывод типов?

Определяются NULL, boolean, integer, float, ISO 8601 date/time, короткие и длинные строки, после чего подбирается подходящий SQL-тип.

Поддерживается ли bulk insert?

Да. Размер батча настраивается от 1 до 1000 строк на INSERT.

Что делать, если JSON содержит ошибки?

Для типовых ошибок вроде хвостовых запятых или неправильных кавычек запускается автоисправление. Если этого мало, сначала проверьте JSON форматтером.

Уходит ли мой JSON на сервер?

Нет. Разбор JSON, вывод типов и построение SQL полностью происходят в JavaScript внутри браузера.

Распознаются ли даты автоматически?

Да. Строки ISO 8601 вида YYYY-MM-DD и YYYY-MM-DDTHH:mm:ss определяются как DATE и TIMESTAMP.

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

Справа видно только "No valid objects found in JSON"

Верхний уровень не массив/объект или массив состоит из примитивов без ключей для колонок.

Сгенерированный SQL даёт синтаксическую ошибку

Часто причина в неверно выбранном диалекте, конфликте с зарезервированным словом или слишком большом батче.

Дата определилась как VARCHAR, а не DATE/TIMESTAMP

Строка даты не соответствует формату ISO 8601, поэтому считается обычным текстом.

В одном столбце смешаны числа и строки

При конфликте типов столбец автоматически повышается до более широкого типа, например VARCHAR.

Глоссарий

JSON
Лёгкий формат обмена данными, широко используемый в API и конфигурациях.
SQL
Стандартный язык работы с реляционными базами данных.
INSERT
DML-оператор для добавления строк в таблицу.
CREATE TABLE
DDL-оператор для определения таблицы, колонок и типов.
SQL-диалект
Различия синтаксиса и типов между СУБД.
Вывод типов
Автоматическое определение SQL-типа по значениям JSON.
Пакетная вставка
Объединение нескольких строк в один INSERT для ускорения импорта.

Поддерживаемые SQL-диалекты и ключевые различия

Сводка по основным диалектам: кавычки идентификаторов, типы целых чисел и boolean.

ДиалектКавычки идентификатораЦелочисленный типBooleanIF NOT EXISTS
MySQLобратные кавычки `INTTRUEда
PostgreSQLдвойные кавычки "INTEGERTRUEда
SQLiteдвойные кавычки "INTEGER1/0да
SQL Serverквадратные скобки []INT1/0нет
BigQueryобратные кавычки `INT64TRUEда
Snowflakeдвойные кавычки "NUMBERTRUEда

Правила вывода типов JSON -> SQL

Основные правила, которые использует detectType.

Значение JSONПримерВыводимый SQL-типПравило
nullnullNULLJSON null сопоставляется с SQL NULL.
booleantrue / falseBOOLEANИспользуется BOOLEAN или 1/0 в зависимости от диалекта.
integer1, 100, -9999INT / BIGINTINT или BIGINT выбирается по диапазону значения.
float3.14, -0.5FLOAT / DOUBLE / REALДля float используется тип с плавающей точкой конкретного диалекта.
ISO 8601 datetime2024-05-20T10:30:00TIMESTAMPISO 8601 дата-время определяется как TIMESTAMP.
short / long stringAlice / 500 charsVARCHAR / TEXTСтроки до 255 символов идут в VARCHAR, длиннее — в TEXT.

Privacy & Security

Этот JSON to SQL конвертер полностью работает в вашем браузере. Разбор JSON, вывод типов, генерация SQL и форматирование выполняются на стороне клиента, без отправки входных данных на какой-либо сервер.

Authoritative References