Конвертер SQL в CSV

Иногда единственная копия нужных данных, это файл .sql из резервной копии, дамп инструкций INSERT INTO users (id, email, created_at) VALUES (...). Загружать его в базу данных только ради повторного экспорта медленно. Этот конвертер читает список столбцов и каждый кортеж VALUES прямо из синтаксиса INSERT и создаёт CSV, который можно открыть в Excel, Google Таблицах, Numbers или pandas без восстановления схемы.

Как преобразовать инструкции INSERT SQL в CSV

  1. 1

    Вставьте SQL

    Поместите одну или несколько инструкций INSERT. Поддерживаются блоки VALUES (...) как из одной, так и из нескольких строк.

  2. 2

    Столбцы определяются автоматически

    Парсер читает список `(col1, col2, ...)` прямо перед VALUES и трактует его как строку заголовка CSV.

  3. 3

    Строки извлекаются

    Каждый кортеж `(val1, val2, ...)` становится строкой CSV. У строк в одинарных кавычках кавычки удаляются; числа и NULL передаются как текст.

  4. 4

    Скопируйте CSV

    Возьмите вывод CSV и вставьте его в таблицу или сохраните с расширением `.csv`.

Что принимает парсер

INSERT INTO users (id, email, created_at) VALUES
  (1, 'alice@example.com', '2024-01-12 09:00:00'),
  (2, 'bob@example.com',   '2024-01-13 10:30:00'),
  (3, 'carol@example.com', '2024-01-13 11:15:00');

Превращается в:

id,email,created_at
1,alice@example.com,2024-01-12 09:00:00
2,bob@example.com,2024-01-13 10:30:00
3,carol@example.com,2024-01-13 11:15:00

Применяемые правила экранирования CSV

  • Разделителем всегда является запятая; варианта выбора разделителя нет.
  • Поля, содержащие запятые, двойные кавычки или переводы строк, заключаются в двойные кавычки.
  • Внутренние двойные кавычки удваиваются (" становится "") согласно RFC 4180.
  • Начальные и конечные одинарные кавычки строковых литералов SQL удаляются.
  • NULL из SQL передаётся как буквальный текст NULL; замените его далее, если ваш инструмент ожидает пустые ячейки.

Ограничения, которые стоит знать

  • Требуется список столбцов. Парсер читает заголовок из списка (col1, col2, ...) перед VALUES. Простое INSERT INTO t VALUES (...) без списка столбцов создаёт строки CSV без заголовка.
  • По одной таблице за раз. Если ваш дамп смешивает инструкции INSERT для разных таблиц, сначала разделите их. Строки разной ширины создают неровный CSV.
  • Разбор CREATE TABLE не выполняется. Типы столбцов не используются. Даты, JSON и двоичные BLOB передаются как необработанный текст.
  • Каждая группа скобок становится строкой. Парсер превращает каждую группу (...) в строку, поэтому завершающие конструкции со скобками (ON DUPLICATE KEY UPDATE, RETURNING), вызовы функций вроде NOW() или вложенные массивы вроде (1,2,3) внутри значения добавляют лишние строки. Ограничьте ввод простыми кортежами INSERT ... VALUES и замените такие выражения литералами перед вставкой.

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

Да, если инструкция INSERT имеет стандартную форму INSERT INTO table (cols) VALUES (...), общую для этих баз данных. Инструмент не запускает полноценный парсер SQL: он извлекает список столбцов и кортежи значений в скобках, поэтому оставляйте каждую инструкцию в простом синтаксисе INSERT.

Запятые внутри строк SQL в одинарных кавычках сохраняются. В выводе любое поле, содержащее запятую, кавычку или перевод строки, заключается в двойные кавычки, а внутренние кавычки удваиваются согласно RFC 4180. Значения, которые сами содержат скобки, могут разбиться некорректно.

Нет. Ваш SQL отправляется на наш сервер, разбирается за один проход и возвращается, поэтому ограничивайте ввод несколькими мегабайтами за раз. Для очень больших дампов разделите файл на части (по одному блоку INSERT на часть) и преобразуйте их по кускам.

Нет, на выходе получается плоский CSV. Типы столбцов, индексы и ограничения находятся в CREATE TABLE и выходят за рамки этого конвертера.

Ваш SQL отправляется на наш сервер только для создания CSV и не сохраняется; мы храним анонимный счётчик числа преобразованных строк, но никогда сам текст SQL.

Сопутствующие инструменты

Анализатор размера файлов

Любое количество байтов в разбивке на десятичные (KB, MB, GB) и двоичные (KiB, MiB) единицы, с точным значением в байтах.

Генератор фальшивых данных

Создавайте реалистичных фальшивых пользователей: идентификаторы, имена, электронные письма, номера телефонов и города в форматах CSV или JSON, готовых для тестирования API, дашбордов и импорта.

Конвертер DOCX в DOC

Конвертируйте современные файлы Word DOCX обратно в устаревший формат DOC, чтобы они открывались в старых версиях Microsoft Word и ПО, которому нужен классический формат.

Просмотрщик CSV

Откройте CSV-файл или вставьте текст и смотрите таблицу с поиском и сортировкой. Запятые, точки с запятой, табуляция и кодировка определяются автоматически.

Конвертер Excel в JSON

Преобразуйте листы XLSX или XLS в JSON в браузере. Выбирайте листы, структуру, ключи и правила значений без загрузки файла.

Идентификатор расширения файла

Узнайте, какому типу файла и типу MIME соответствует имя файла или расширение, с обзором распространённых форматов и советами, как распознать двойное расширение.

Инструмент доступен на других языках