Форматирование и минификация SQL - прочитать длинный запрос

Форматирование и минификация SQL

Форматирование SQL - частые вопросы

MySQL, PostgreSQL, SQLite, SQL Server и Oracle работают все, потому что инструменту нужно распознавать только строки, комментарии, имена в кавычках и ключевые слова предложений - то, что есть в любом диалекте. Обратные апострофы, двойные кавычки и квадратные скобки одинаково считаются кавычками имени, так что говорить, из какой базы запрос, не нужно.
Новое
Редактор Markdown Пишите Markdown и смотрите результат рядом. Поддерживаются заголовки, списки, таблицы, блоки кода и ссылки; скопируйте HTML или скачайте файлы .md и .html. Работает в вашем браузере.
Популярное сегодня
Форматировщик YAML Переформатируйте отступы в запутанном YAML, найдите ошибку с номером строки и прочитайте документ как JSON. Комментарии, блочные скаляры и якоря сохраняются. Работает в браузере.

Что делает этот инструмент

Запрос, который нужно понять, редко бывает вашим. Он пришёл из лога, из ORM, из сообщения коллеги: одна строка, четыре join и where, у которого не найти конца. Эта страница раскладывает его по строкам, чтобы стала видна форма, и снова собирает в одну, когда его должно прочитать что-то другое.

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

  1. 1 Вставьте запрос: один оператор или целый скрипт.
  2. 2 Выберите отступ и нажмите «Форматировать» или «Минифицировать».
  3. 3 Текст меняется в том же поле: скопируйте его или нажмите «Отменить».

Однострочный комментарий становится опасным там, где строк нет

Комментарий «--» действует до конца строки. Минификация убирает переносы, поэтому оставленный комментарий проглотил бы всё, что идёт следом: запрос по-прежнему выполняется, просто молча обрывается на середине. Поэтому минификация здесь полностью вырезает строчные комментарии - и поэтому «--» внутри строки остаётся ровно на месте: там это данные, а не комментарий.

Кавычки и удвоенные кавычки

В SQL кавычка внутри строки экранируется удвоением: 'O''Brien'. Инструмент, закрывающий строку на второй кавычке, читает остаток имени как код, и дальше каждое найденное им ключевое слово - выдумка. То же и с экранированными именами: `order`, "group", [limit] это имена, а ключевое слово внутри имени - не ключевое слово.

Он никогда не переписывает ваш запрос

Ключевые слова не переводятся в верхний регистр, скобки не упрощаются, псевдонимы не переименовываются. Двигаются только пробелы. Это важно, потому что отформатированный запрос обычно возвращается в файл, который просматривает команда: diff, полный смен регистра, прячет ту единственную строку, которая действительно изменилась, а ключевые слова в нижнем регистре - это стиль команды, а не ошибка.

Форматировать не значит проверять

Эта страница никогда не подключается к базе данных, поэтому не может знать, существует ли таблица, верен ли ваш join и не окажется ли запрос медленным. Она читает текст и двигает пробелы. Что она действительно даёт - это форму; а запрос, форму которого видно, это запрос, о котором можно рассуждать.

Связанные инструменты разработчика

JSON форматтер Форматируйте, сжимайте и проверяйте JSON прямо в браузере. Ошибка указывается по строке и столбцу, а дерево показывает структуру.
Формат HTML Расставьте отступы в запутанном HTML, чтобы его читать, или сожмите его. Работает и с фрагментами, а разметку не переписывает.
Минификация CSS Сожмите CSS, убрав комментарии и пробелы, или разверните обратно с ровными отступами. Пробелы в calc(), строки и лицензии остаются нетронутыми.
Формат XML Расставьте отступы в запутанном XML или сожмите его. Понимает RSS, CDATA и пространства имён и никогда не переписывает ваш документ.
Минификатор JavaScript Сожмите JavaScript через Terser - движок сборщиков. Он разбирает код, а не угадывает, поэтому поведение сохраняется. Ничего не загружается.

Другие инструменты, которые могут вам понравиться

Word в PDF Конвертируйте Word в PDF бесплатно: загрузите DOC, DOCX, ODT или RTF и скачайте аккуратно свёрстанный PDF за считаные секунды.
PDF в Word Конвертируйте PDF в Word бесплатно: загрузите PDF и скачайте редактируемый DOCX за секунды - без регистрации и водяных знаков.
Счетчик слов Бесплатный счётчик слов: вставьте текст, чтобы узнать число слов, символов, предложений и абзацев, а также время чтения. Текст остаётся в браузере.
Счетчик символов Бесплатный счётчик символов: символы с пробелами и без, слова и строки, а также проверка SEO-лимитов для заголовков и описаний.
Проверка плотности ключевых слов Бесплатный анализ плотности ключевых слов: вставьте текст или ссылку и посмотрите частоту каждого слова и фразы в процентах.