logo
GeekFormat

SQL Конвертер

Онлайн SQL конвертер GeekFormat преобразует SQL INSERT-инструкции и CREATE TABLE-скрипты в один клик в форматы JSON, CSV, TSV, XML, YAML, HTML-таблицы, Markdown-таблицы, JSON Lines и другие. Поддерживаются множественные INSERT-инструкции, пакетный разбор многозначных кортежей, автоматическое распознавание чисел, строк, NULL, логических значений и шестнадцатеричных литералов, совместимость со стилем кавычек в диалектах MySQL, PostgreSQL, SQLite, SQL Server, данные нескольких таблиц можно выводить раздельно или объединять. Также доступно обратное восстановление INSERT-инструкций с переключением диалекта. Обработка полностью локально в браузере, все данные остаются на устройстве.

Похожие

О преобразовании SQL: перевод SQL-скриптов в форматы JSON/CSV/XML и др.

Преобразование SQL (SQL Conversion) — это процесс извлечения данных из SQL-скрипта и реорганизации их в другие форматы данных, такие как JSON, CSV, XML, YAML, HTML, Markdown и др. SQL (Structured Query Language, язык структурированных запросов) — стандартный язык запросов для реляционных баз данных, инструменты экспорта баз данных (такие как mysqldump, pg_dump) обычно экспортируют данные в виде INSERT-инструкций в SQL-скрипте, этот формат удобен для импорта в базу данных, но неудобен для чтения программами, анализа данных или обмена между системами, поэтому требуется преобразование в более универсальные форматы.

Типичные SQL-скрипты экспорта данных содержат два типа инструкций: CREATE TABLE для определения структуры таблицы (имена столбцов, типы данных, ограничения) и INSERT INTO ... VALUES (...) для вставки конкретных данных. Инструмент разбирает оба типа инструкций, извлекает определения столбцов и информацию о типах из CREATE TABLE, фактические строки данных из INSERT, а затем реорганизует вывод в выбранном пользователем формате. Весь процесс разбора выполняется локально в браузере, не зависит от каких-либо бэкенд-сервисов.

Зачем преобразовывать SQL в другие форматы? SQL-скрипты универсальны, но неудобны в следующих сценариях: во-первых, фронтенд-программам гораздо проще читать JSON, чем разбирать SQL, без необходимости подключать SQL-парсер; во-вторых, табличные программы, такие как Excel, Google Sheets, нативно поддерживают CSV, а не SQL; в-третьих, в сценариях конфигурационных файлов и документации YAML, Markdown более читаемы, чем SQL; в-четвертых, для обмена данными между системами часто используются XML или JSON как нейтральные форматы. После преобразования SQL в эти универсальные форматы данные могут непосредственно потребляться большим количеством инструментов и языков.

SQL-парсер этого инструмента написан вручную и сосредоточен на разборе INSERT и CREATE TABLE инструкций. Для INSERT поддерживаются как однозначные кортежи (INSERT INTO t (a,b) VALUES (1,2)), так и многозначные кортежи (INSERT INTO t (a,b) VALUES (1,2), (3,4), (5,6)) с автоматическим сопоставлением данных по именам столбцов. Для CREATE TABLE поддерживается разбор определений столбцов, типов данных (VARCHAR(255), INT, DECIMAL(10,2) и др. с длиной в скобках), ограничений и предложений NOT NULL, PRIMARY KEY, IF NOT EXISTS с корректной обработкой вложенных скобок во избежание ошибочного разделения.

Распознавание типов — ключевой аспект преобразования SQL. Инструмент автоматически определяет тип по форме литерала значения: строки, заключенные в одинарные или двойные кавычки, являются строками; NULL (без учета регистра) — пустое значение; TRUE/FALSE — логические значения; 0x..., X'...', B'...' — шестнадцатеричные литералы; чистые числа (со знаком минус, десятичной точкой, экспоненциальной нотацией) — числа. Такое автоматическое распознавание типов гарантирует, что преобразованные форматы JSON, CSV и др. сохраняют семантику исходных данных (например, число 1 не становится строкой "1"), что удобно для корректной обработки downstream-программами.

Различия в стиле кавычек между диалектами баз данных — распространенная ловушка при разборе SQL. MySQL по умолчанию использует обратные кавычки (`) для обертки идентификаторов (имен таблиц, столбцов), PostgreSQL использует двойные кавычки ("), SQL Server/T-SQL использует квадратные скобки ([]), стандартный SQL также использует двойные кавычки. Функция unquoteIdentifier этого инструмента автоматически распознает и удаляет эти кавычки, одновременно обрабатывая экранирование внутри кавычек (например, `` → `, "" → "). В режиме восстановления SQL INSERT-инструкции регенерируются с соответствующим стилем кавычек для целевого диалекта.

Экранирование SQL-строк — еще одна ключевая техническая деталь. Стандарт SQL определяет экранирование одиночной кавычки внутри строки путем удвоения ('It''s' представляет It's), MySQL по умолчанию также поддерживает экранирование обратной косой чертой (\n, \t, \', \", \\\\, \0, \Z и др.). Парсер строк этого инструмента одновременно обрабатывает оба механизма экранирования, корректно восстанавливая исходное содержимое строки. При преобразовании в CSV поля, содержащие запятые, кавычки, переносы строк, повторно экранируются в соответствии со стандартом RFC 4180; при преобразовании в XML/HTML экранируются специальные символы &, <, >, ", '.

Чисто фронтенд-обработка — ключевой принцип дизайна этого инструмента. Весь разбор SQL и преобразование данных выполняются в JavaScript-движке браузера, без отправки каких-либо данных на сервер. Это означает, что даже если SQL-скрипт содержит пользовательские конфиденциальные данные, коммерческую тайну или структуру внутренней базы данных, они не утекут наружу. Этот дизайн особенно подходит для обработки экспорта производственных баз данных, без беспокойства о вопросах compliance данных. В то же время фронтенд-обработка не имеет сетевых задержек, скорость преобразования ограничена только CPU и памятью устройства.

По сравнению с традиционными инструментами командной строки для преобразования SQL (такими как sql2csv, sqlparser) этот инструмент имеет несколько преимуществ: не требует установки и настройки среды, откройте веб-страницу и используйте; предоставляет визуальный интерфейс для предварительного просмотра результата в реальном времени; поддерживает переключение между несколькими форматами вывода в один клик; встроенные образцы данных и документация; адаптивный мобильный дизайн для использования в любом месте. Однако инструмент сосредоточен на извлечении данных и не обрабатывает сложные диалектные различия SQL (например, операторы JSONB PostgreSQL, ON DUPLICATE KEY UPDATE MySQL) и расширенные функции (хранимые процедуры, функции, триггеры); при наличии таких потребностей рекомендуется использовать нативные инструменты баз данных или специализированные ETL-платформы.

При использовании инструмента преобразования SQL стоит учитывать несколько лучших практик: во-первых, перед преобразованием проверьте, содержит ли SQL-скрипт полные данные (INSERT-инструкции), а не только запросы (SELECT), которые не разбираются; во-вторых, для SQL-скриптов с несколькими таблицами рекомендуется включить «Раздельный вывод нескольких таблиц» для сохранения информации о структуре таблиц; в-третьих, при обработке SQL, содержащего китайские символы, для вывода CSV рекомендуется включить «Включить BOM», чтобы гарантировать корректное распознавание кодировки Excel; в-четвертых, при обработке больших SQL dump рекомендуется отключить «Красивый вывод» для уменьшения размера вывода; в-пятых, при кросс-базовой миграции можно использовать режим «Восстановление SQL» для переключения диалекта, но сложные типы (например, массивы PostgreSQL, JSONB) могут потребовать ручной корректировки.

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

  • Преобразование SQL-скриптов, экспортированных mysqldump или pg_dump, в JSON для импорта данных через API или использования на фронтенде
  • Конвертация INSERT-инструкций базы данных в CSV-файлы для импорта в Excel/WPS/Google Sheets для анализа данных или создания отчетов
  • Извлечение данных из SQL-скриптов резервных копий в XML для обмена данными между системами или интеграции с SOAP-интерфейсами
  • Преобразование SQL-данных в формат конфигурации YAML для сценариев настройки Ansible, Docker Compose, Kubernetes и др.
  • Конвертация результатов SQL-запросов (экспортированных как INSERT) в HTML-таблицы для прямого встраивания на веб-страницы
  • Преобразование SQL-данных в Markdown-таблицы для вставки в README, сайты документации, технические блоги для демонстрации образцов данных
  • Извлечение данных из полных скриптов CREATE TABLE + INSERT и преобразование в JSON Lines для пакетной индексации Elasticsearch
  • При миграции баз данных восстановление INSERT-скриптов MySQL в INSERT-инструкции диалекта PostgreSQL для кросс-базового импорта данных
  • Управление тестовыми данными: преобразование SQL-сид-данных в JSON-конфигурации для удобного чтения программой и управления версиями
  • Учебные демонстрации: преобразование SQL-инструкций в различные форматы для сравнения, помогая учащимся понять различия между представлениями данных
  • Предварительная обработка ETL: преобразование upstream SQL dump в структурированный JSON/CSV как вход для downstream ETL-конвейера
  • Анализ данных: извлечение ключевых данных из SQL-экспорта в CSV для статистического анализа с помощью pandas, R и других инструментов
  • Доставка клиенту: преобразование экспорта базы данных в более универсальный формат JSON или CSV для просмотра нетехническим персоналом
  • Архивация данных: преобразование INSERT-скриптов исторических баз данных в более читаемый YAML или Markdown для архивирования

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

  1. Вставьте SQL-скрипт в левое поле ввода или нажмите кнопку «Загрузить SQL» для выбора файла .sql/.txt
  2. Нажмите кнопку «Пример» для загрузки встроенного SQL-образца (включая CREATE TABLE и многотабличные INSERT)
  3. В выпадающем меню форматов в верхней части правой панели вывода выберите целевой формат (JSON, CSV, XML, YAML и др., всего 9 форматов)
  4. Нажмите кнопку «Настройки» для регулировки опций преобразования: красивый вывод, включение BOM, раздельный вывод нескольких таблиц, разделитель CSV, имя корневого ключа JSON, SQL-диалект и др.
  5. Нажмите кнопку «Конвертировать» для выполнения преобразования, результат автоматически отобразится в правой панели, нижняя строка состояния покажет статистику: количество таблиц, строк, INSERT и др.
  6. Нажмите «Копировать» для копирования результата в буфер обмена или «Скачать» для сохранения результата в файл соответствующего формата (например, result.json, result.csv)
  7. Переключение формата вывода автоматически повторно преобразует данные без необходимости повторно нажимать кнопку конвертации

Функции

  • Девять форматов вывода: JSON, JSON Lines, CSV, TSV, XML, YAML, HTML-таблицы, Markdown-таблицы, восстановление SQL — переключение формата в один клик с автоматическим повторным преобразованием
  • Разбор INSERT-инструкций: автоматическое распознавание синтаксиса INSERT INTO ... VALUES (...), поддержка одиночных и многозначных кортежей пакетной вставки (несколько строк данных в одной INSERT)
  • Распознавание CREATE TABLE: разбор CREATE TABLE-инструкций для извлечения определений столбцов, типов данных, ограничений NOT NULL, PRIMARY KEY и др., пригодных для вывода типов полей
  • Обработка данных нескольких таблиц: при наличии нескольких таблиц в скрипте возможен вывод по каждой таблице (с разделительными метками имен таблиц) или объединенный экспорт с автоматическим агрегированием столбцов и строк
  • Автоматическое распознавание типов: интеллектуальное определение чисел (целые/с плавающей точкой), строк, NULL, логических значений (TRUE/FALSE), шестнадцатеричных литералов (0x..., X'...', B'...') с сохранением исходной семантики типов
  • Совместимость с кавычками различных диалектов: распознавание обратных кавычек MySQL (`), двойных кавычек PostgreSQL ("), квадратных скобок SQL Server ([]) и стандартных кавычек с автоматическим удалением кавычек идентификаторов
  • Экранирование SQL-строк: обработка стандартного экранирования SQL ('' → ') и экранирования обратной косой чертой MySQL (\n, \r, \t, \0, \', \") для корректного восстановления строк со специальными символами
  • Восстановление SQL-диалекта: возможность регенерации INSERT-инструкций в диалекте MySQL, PostgreSQL, SQLite или стандартном SQL с поддержкой пользовательских имен таблиц и опциональной генерацией CREATE TABLE
  • Гибкая настройка CSV: выбор разделителя (запятая/точка с запятой/Tab/вертикальная черта), опция UTF-8 BOM (совместимость с Excel), опция отступов для красоты, соответствие стандарту RFC 4180
  • Различные структуры JSON: вывод с группировкой по таблицам (корневой ключ tables), чистые данные (корневой ключ data) или чистый массив (без корневого ключа) для разных сценариев использования
  • Отображение статистики в реальном времени: после преобразования отображаются количество таблиц, общее число строк, количество INSERT-инструкций, число символов вывода для удобной проверки полноты результата
  • Загрузка и скачивание файлов: поддержка загрузки файлов .sql/.txt/.csv/.tsv/.json для прямого разбора, результат конвертации можно скачать в соответствующем формате (например, .json, .csv, .yaml)
  • Управление историей: боковая панель истории слева автоматически сохраняет недавние преобразованные SQL-входы, позволяя быстро перезагрузить предыдущие скрипты
  • Адаптивный мобильный дизайн: на телефонах автоматическое переключение на макет с вкладками ввод/результат, на десктопе перетаскиваемая двухпанельная разделительная панель, все взаимодействия доступны на мобильных устройствах
  • Полная локальная обработка в браузере: весь разбор и преобразование выполняются в JavaScript браузера, без серверных запросов, SQL-данные не покидают устройство, подходит для обработки экспорта баз данных с конфиденциальной информацией

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

В какие форматы можно преобразовать SQL?

Инструмент поддерживает девять форматов вывода: JSON (структурированный массив), JSON Lines (по одному JSON-объекту на строку), CSV (с разделением запятыми), TSV (с разделением табуляцией), XML (стандартный XML-документ с тегами), YAML (формат конфигурации), HTML-таблицы (со стилями для прямого просмотра в браузере), Markdown-таблицы (синтаксис документации), восстановление SQL (регенерация INSERT-инструкций с возможностью смены диалекта). Переключение в один клик в выпадающем меню форматов справа автоматически повторно преобразует данные.

Какие SQL-инструкции поддерживаются для разбора?

В основном разбираются INSERT INTO ... VALUES (...) инструкции для извлечения данных, также распознаются CREATE TABLE инструкции для получения определений столбцов и информации о типах. Поддерживаются одиночные INSERT, многозначные INSERT-кортежи (несколько строк данных в одной INSERT), несколько INSERT-инструкций, INSERT-инструкции для нескольких таблиц. Комментарии (-- однострочные, /* */ многострочные, # MySQL однострочные) автоматически удаляются и не влияют на разбор.

Какие диалекты баз данных поддерживаются?

При разборе совместимы со стилем кавычек идентификаторов MySQL (обратные кавычки `), PostgreSQL (двойные кавычки "), SQL Server (квадратные скобки []) и стандартного SQL с автоматическим удалением кавычек для восстановления исходных имен столбцов и таблиц. В режиме восстановления SQL можно выбрать диалект MySQL, PostgreSQL, SQLite или стандартного SQL для регенерации INSERT, кавычки и представление логических значений различаются в разных диалектах.

Как обрабатываются несколько таблиц в SQL-скрипте?

Инструмент автоматически агрегирует INSERT-данные по имени таблицы. При включении опции «Раздельный вывод нескольких таблиц» в настройках табличные форматы CSV/HTML/Markdown выводятся по таблицам по сегментам (с метками имен таблиц), а структурированные форматы JSON/XML группируются по именам таблиц. При отключении этой опции CSV выводит только данные первой таблицы, JSON можно вывести как чистый массив при выборе «без корневого ключа».

Как обрабатываются NULL, логические значения и специальные символы в SQL?

Инструмент автоматически распознает NULL (без учета регистра), логические значения TRUE/FALSE, шестнадцатеричные литералы (0x..., X'...', B'...'), целые и дробные числа. Строки автоматически обрабатываются с стандартным SQL-экранированием ('' → ') и экранированием обратной косой чертой MySQL (\n, \t, \' и др.) для корректного восстановления исходного содержимого с переносами строк, кавычками, специальными символами. При выводе CSV в соответствии со стандартом RFC 4180 поля, содержащие запятые, кавычки, переносы строк, экранируются кавычками.

Какую структуру имеет преобразованный JSON?

Вывод JSON поддерживает три структуры: «корневой ключ tables» (группировка по именам таблиц, рекомендуется для сценариев с несколькими таблицами), «корневой ключ data» (унифицированная упаковка), «без корневого ключа» (чистый массив, подходит для одной таблицы или потоковой обработки). Например, одна таблица users преобразуется в массив [{"id":1,"name":"Alice"},...], несколько таблиц группируются по именам таблиц как {"users":[...],"orders":[...]}. Выбор доступен в настройках.

Сохраняются ли загруженные SQL-файлы на сервере?

Нет. Это чисто фронтенд-приложение, весь разбор и преобразование выполняются локально в JavaScript браузера, SQL-содержимое или результаты преобразования не отправляются ни на какой сервер. Загруженные файлы читаются напрямую в браузере через FileReader, после закрытия страницы данные автоматически удаляются. Подходит для обработки экспорта баз данных, содержащего конфиденциальную информацию пользователей или коммерческую тайну.

Поддерживаются ли квадратные скобки идентификаторов SQL Server?

Да. Инструмент распознает идентификаторы в квадратных скобках в стиле SQL Server/T-SQL (например, [users], [order details]) и автоматически удаляет квадратные скобки для восстановления исходных имен. Также поддерживаются обратные кавычки MySQL, двойные кавычки PostgreSQL. В режиме восстановления SQL выбор разных диалектов будет использовать соответствующий стиль кавычек для регенерации INSERT.

Почему после конвертации SQL-скрипта нет данных?

Проверьте, содержит ли SQL INSERT INTO ... VALUES (...) инструкции. Инструмент разбирает только INSERT-инструкции для извлечения данных, SELECT-запросы не дают вывода. Если присутствуют только CREATE TABLE инструкции, отображается предупреждение «Обнаружены только CREATE TABLE, нет строк данных для преобразования». Убедитесь, что SQL-скрипт является экспортом данных (dump), а не запросом.

Поддерживаются ли хранимые процедуры, функции и триггеры?

Нет. Инструмент сосредоточен на извлечении данных и разбирает только INSERT и CREATE TABLE инструкции. Хранимые процедуры (CREATE PROCEDURE), функции (CREATE FUNCTION), триггеры (CREATE TRIGGER), представления (CREATE VIEW) и другие определения объектов базы данных не разбираются. Для миграции этих объектов рекомендуется использовать нативные инструменты баз данных, такие как pg_dump, mysqldump.

Корректно ли открываются китайские символы в CSV-файле в Excel?

Да. После включения опции «Включить BOM» в настройках CSV-файл будет содержать UTF-8 BOM-заголовок (\uFEFF), и Excel корректно распознает кодировку, отображая китайские и другие не-ASCII символы. Без BOM некоторые версии Excel могут отображать UTF-8 китайские символы как искаженные. Современные табличные программы, такие как Google Sheets, WPS, обычно корректно распознают кодировку и без BOM.

Можно ли обратно восстановить INSERT-инструкции из SQL-скрипта?

Да. Выберите формат вывода «Восстановление SQL» для регенерации INSERT-инструкций. Поддерживается выбор целевого диалекта (MySQL/PostgreSQL/SQLite/стандартный SQL), пользовательское имя таблицы, опциональная генерация CREATE TABLE инструкции (с автоматическим выводом типов столбцов INT/BIGINT/FLOAT/VARCHAR/TEXT/BOOLEAN на основе данных). Это подходит для восстановления MySQL-скриптов в диалекте PostgreSQL или повторного импорта в базу данных после изменения имени таблицы.

В чем разница между JSON Lines и JSON? Когда использовать JSON Lines?

Вывод JSON — это полный JSON-массив ([{...},{...}]), подходящий для одновременной загрузки в память программой. JSON Lines (также известный как NDJSON) — по одному независимому JSON-объекту на строку, подходит для потоковой обработки, импорта больших данных, bulk API Elasticsearch, анализа логов и т. д., может читаться построчно без использования большого объема памяти. Инструмент поддерживает свободное переключение между двумя форматами.

Сохраняется ли исходный порядок столбцов в результате преобразования?

Да. Инструмент сохраняет имена столбцов в порядке, указанном в INSERT-инструкции. Если INSERT не указывает явно имена столбцов (например, INSERT INTO t VALUES (...)), то имена столбцов-заполнителей col_1, col_2 и т. д. генерируются по количеству значений в первой строке. Порядок столбцов каждой из нескольких таблиц сохраняется независимо, при объединенном экспорте они отображаются отдельно по таблицам.

Какого размера SQL-файлы поддерживает инструмент?

Теоретически жесткого верхнего предела нет, ограничено памятью браузера. Обычно SQL dump-файлы размером в десятки МБ обрабатываются плавно, сверхбольшие файлы (сотни МБ) могут замедлиться из-за нехватки памяти браузера. Рекомендуется разбивать сверхбольшие файлы на несколько небольших для пакетного преобразования или отключать «красивый вывод» для уменьшения использования памяти. Весь разбор выполняется локально в браузере, без ограничений сетевой передачи.

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

После преобразования нет вывода данных?

Причина 1: SQL-скрипт содержит только SELECT-запросы, этот инструмент разбирает только INSERT-инструкции для извлечения данных, не выполняет запросы. Решение: используйте mysqldump/pg_dump для экспорта данных в виде INSERT-инструкций. Причина 2: SQL-скрипт содержит только CREATE TABLE без строк данных, отобразится предупреждение. Причина 3: синтаксис INSERT-инструкции некорректен (например, отсутствует ключевое слово VALUES), проверьте правильность синтаксиса SQL. Причина 4: все содержимое SQL закомментировано (-- или /* */), проверьте, не удалены ли ошибочно символы комментариев.

Китайские символы в CSV отображаются искаженно в Excel?

Excel по умолчанию распознает CSV в кодировке GBK, китайские символы в UTF-8 будут отображаться искаженно. Решение: включите опцию «Включить BOM» в «Настройках», выходной CSV-файл будет содержать UTF-8 BOM-заголовок (\uFEFF), и Excel корректно распознает кодировку UTF-8. Если уже экспортирован CSV без BOM, можно сохранить его в Блокноте как «UTF-8 с BOM» и затем открыть в Excel, либо использовать современные табличные программы, такие как Google Sheets, WPS.

Числа в JSON стали строками?

Причина: числа в SQL обернуты кавычками (например, '123' вместо 123), инструмент разбирает их как строки. Решение: проверьте, обернуты ли числа в кавычки в SQL-скрипте, удалите кавычки. Если исходные данные такие (например, ZIP-коды часто хранятся как строки), это ожидаемое поведение, поскольку сохранение строковой семантики позволяет избежать потери ведущих нулей (например, 01234 не будет разобрано как 1234).

Ошибка преобразования строки со специальными символами?

Причина: специальные символы (переносы строк, кавычки, обратная косая черта) в SQL-строке не экранированы корректно. Этот инструмент поддерживает стандартное SQL-экранирование ('' → ') и экранирование обратной косой чертой MySQL (\n, \' и др.), но если исходный SQL использует нестандартное экранирование (например, PostgreSQL E'...' строки), он может не восстановиться корректно. Решение: проверьте, соответствует ли SQL-экранирование стандарту, при необходимости вручную скорректируйте в текстовом редакторе перед преобразованием.

После преобразования многотабличного SQL видна только первая таблица?

Причина: опция «Раздельный вывод нескольких таблиц» не включена, табличные форматы CSV/HTML/Markdown по умолчанию выводят только первую таблицу. Решение: включите опцию «Раздельный вывод нескольких таблиц» в «Настройках», CSV будет выводиться по таблицам по сегментам (с меткой # Table: имя таблицы), JSON будет группироваться по именам таблиц ({имя_таблицы1:[...],имя_таблицы2:[...]}). Обратите внимание, что формат JSON Lines не различает таблицы, все строки будут объединены в выводе.

После восстановления SQL кавычки имен таблиц или столбцов неверны?

Причина: при восстановлении выбран неверный диалект, разные диалекты используют разные стили кавычек (обратные кавычки MySQL, двойные кавычки PostgreSQL, квадратные скобки SQL Server). Решение: выберите целевой SQL-диалект в «Настройках», инструмент регенерирует INSERT с соответствующим стилем кавычек. Например, при выборе PostgreSQL имя таблицы станет "users", при выборе MySQL — `users`.

Глоссарий

SQL (Structured Query Language)
Язык структурированных запросов, стандартный язык запросов и манипуляции для реляционных баз данных (MySQL, PostgreSQL, Oracle, SQL Server, SQLite), включает подъязыки DDL (определение данных), DML (манипуляция данными), DQL (запрос данных), DCL (управление данными).
INSERT инструкция
Инструкция SQL для вставки данных в таблицу, синтаксис INSERT INTO table (cols) VALUES (vals), поддерживает одиночные и многозначные пакетные вставки кортежей. Этот инструмент в основном разбирает INSERT-инструкции для извлечения данных.
CREATE TABLE инструкция
DDL-инструкция SQL для создания таблицы, определяет имена столбцов, типы данных, ограничения (NOT NULL, PRIMARY KEY, UNIQUE и др.). Этот инструмент может разбирать CREATE TABLE для извлечения информации об определении столбцов.
VALUES кортеж
Список значений в скобках после ключевого слова VALUES в INSERT-инструкции, например (1, 'Alice', TRUE). Одна INSERT может содержать несколько кортежей для пакетной вставки: VALUES (1,'A'), (2,'B'), (3,'C').
SQL диалект
Различия в расширениях реализации стандарта SQL разными производителями баз данных, например MySQL использует обратные кавычки, PostgreSQL использует двойные кавычки, SQL Server использует квадратные скобки для обертки идентификаторов, представление логических значений (TRUE/1), автоинкрементные столбцы (AUTO_INCREMENT/SERIAL) и др. также различаются.
Кавычки идентификаторов
Специальные символы в SQL для обертки идентификаторов, таких как имена таблиц, столбцов. MySQL использует обратные кавычки `name`, PostgreSQL и стандартный SQL используют двойные кавычки "name", SQL Server использует квадратные скобки [name], для экранирования зарезервированных слов или сценариев с учетом регистра.
SQL экранирование
Механизм представления специальных символов в SQL-строках. Стандарт SQL использует удвоение одиночной кавычки ('') для представления одинарной кавычки; MySQL также поддерживает экранирование обратной косой чертой (\n, \t, \', \\\\). Этот инструмент поддерживает восстановление обоих механизмов экранирования.
NULL значение
Специальное значение в SQL, представляющее отсутствующие или неизвестные данные, без учета регистра (NULL/null/Null). NULL не равен пустой строке или 0, при преобразовании в JSON отображается как null, в CSV обычно остается пустым.
Шестнадцатеричный литерал
Синтаксис литералов для представления бинарных данных в SQL. MySQL поддерживает формы 0x... и X'...', PostgreSQL поддерживает X'...' и B'...' (бинарный). Этот инструмент сохраняет шестнадцатеричные литералы как есть.
JSON Lines (NDJSON)
Текстовый формат с одним независимым JSON-объектом на строку, расширение .jsonl. Подходит для потоковой обработки, импорта больших данных и bulk API Elasticsearch, экономит память по сравнению с полным JSON-массивом.
RFC 4180
Международный стандарт формата CSV (Common Format and MIME Type for Comma-Separated Values Files), определяет правила разделения полей, экранирования кавычек, обработки переносов строк и др. Вывод CSV этого инструмента соответствует этому стандарту.
BOM (Byte Order Mark)
Метка порядка байтов, символ U+FEFF. BOM в начале UTF-8 файла помогает программам, таким как Excel, корректно распознать кодировку, избегая искаженного отображения китайских символов. Вывод CSV этого инструмента может опционально содержать BOM.
SQL Dump
SQL-скрипт экспорта базы данных, обычно генерируется инструментами mysqldump, pg_dump и др., содержит CREATE TABLE и INSERT инструкции, может использоваться для резервного копирования и миграции баз данных.
DDL (Data Definition Language)
Язык определения данных, подмножество SQL, включает инструкции CREATE, ALTER, DROP и др., для определения и изменения структуры базы данных (таблицы, представления, индексы и др.).

Сравнение поддерживаемых форматов вывода

Сравнение особенностей и сценариев применения девяти форматов вывода:

ФорматРасширениеОсобенностиЛучший сценарий
JSON.jsonСтруктурированный массив, сохранение типовAPI-интеграция, чтение программой, фронтенд-данные
JSON Lines.jsonlПо одному JSON-объекту на строкуПотоковая обработка, Elasticsearch, большие данные
CSV.csvТаблица с разделением запятыми, RFC 4180Excel, анализ данных, отчеты
TSV.tsvТаблица с разделением табуляциейВставка в табличные программы, биоинформатика
XML.xmlСтруктурированный документ с тегами и атрибутамиSOAP-интерфейсы, конфигурационные файлы, Java-системы
YAML.yamlНаиболее читаемый формат конфигурацииAnsible, K8s, CI/CD конфигурация
HTML.htmlТаблица со стилями, прямой просмотр в браузереВеб-отображение, email, отчеты
Markdown.mdСинтаксис Markdown-таблицREADME, сайты документации, технические блоги
Восстановление SQL.sqlРегенерация INSERT, смена диалектаКросс-базовая миграция, изменение имени таблицы

Правила распознавания типов значений SQL

Правила распознавания типов при разборе SQL-значений (по форме литерала):

SQL литералТипJSON выводCSV вывод
123Целое123123
-45Отрицательное целое-45-45
3.14Дробное3.143.14
1e10Экспоненциальная нотация1000000000010000000000
'hello'Строка"hello"hello
NULLПустое значениеnull(пусто)
TRUEЛогическое truetrueTRUE
FALSEЛогическое falsefalseFALSE
0xFFШестнадцатеричное"0xFF"0xFF
X'4142'Шестнадцатеричное"X'4142'"X'4142'

Стиль кавычек идентификаторов в различных диалектах баз данных

Различия кавычек идентификаторов (имен таблиц, столбцов) в основных базах данных:

База данныхСтиль кавычекПримерОписание
MySQL/MariaDBОбратные кавычки ``users`Включено по умолчанию, различает зарезервированные слова
PostgreSQLДвойные кавычки ""users"С учетом регистра, стиль стандартного SQL
SQLiteДвойные кавычки "/обратные`/квадратные[]"users" / [users]Совместим с несколькими стилями
SQL ServerКвадратные скобки [][users]Стиль T-SQL по умолчанию
OracleДвойные кавычки ""users"Принудительный верхний регистр, кавычки сохраняют регистр
Стандартный SQLДвойные кавычки ""users"Стандарт ANSI SQL

Privacy & Security

Все операции этого SQL-конвертера полностью выполняются локально в вашем браузере: разбор SQL, извлечение данных, преобразование формата — все через JavaScript браузера на стороне клиента, SQL-содержимое, загруженные файлы или результаты преобразования не отправляются ни на какой сервер по сети. Загрузка файлов использует нативный FileReader API браузера для прямого чтения в память, без промежуточных сервисов. Не используются Cookie для отслеживания, не собираются никакие пользовательские вводы или данные об использовании. После закрытия или обновления страницы все вводы и выводы автоматически очищаются из памяти (история сохраняется только локально в localStorage браузера). Подходит для обработки SQL-скриптов экспорта баз данных, содержащих конфиденциальную информацию пользователей или коммерческую тайну.

Authoritative References