Форматирование SQL
FreeПереформатируйте SQL-запрос для удобства чтения с последовательными отступами, одной конструкцией на строку и выбранным вами регистром ключевых слов, для более десятка диалектов SQL, включая MySQL, PostgreSQL, SQLite, T-SQL, PL/SQL, BigQuery и Snowflake, все это полностью работает в вашем браузере.
Работает полностью в вашем браузере. Ваш SQL никуда не отправляется.
Недавняя активность
Видно всем. Последние 20 использований от всех посетителей, сначала новые.
Formattata una query MySQL (253 caratteri)
4 часа назад
Formatted a MySQL query (21 chars)
5 часов назад
Formatted a MySQL query (253 chars)
5 часов назад
Formatted a MySQL query (253 chars)
5 часов назад
Formatted a MySQL query (253 chars)
5 часов назад
Formatted a MySQL query (253 chars)
5 часов назад
Formatted a MySQL query (253 chars)
5 часов назад
Formatted a MySQL query (21 chars)
5 часов назад
Formatted a MySQL query (253 chars)
5 часов назад
Formatted a MySQL query (253 chars)
5 часов назад
Formatted a MySQL query (253 chars)
5 часов назад
Formatted a MySQL query (253 chars)
5 часов назад
Formatted a MySQL query (253 chars)
5 часов назад
Formatted a MySQL query (253 chars)
5 часов назад
Formatted a MySQL query (21 chars)
5 часов назад
Formatted a MySQL query (253 chars)
5 часов назад
Formatted a MySQL query (253 chars)
5 часов назад
Formatted a MySQL query (253 chars)
5 часов назад
Formatted a MySQL query (253 chars)
5 часов назад
Что делает этот инструмент
Этот инструмент переформатирует SQL-запрос для удобочитаемости: единообразные отступы, одна конструкция на строку и выбранный вами регистр ключевых слов, для более чем десятка диалектов SQL, включая MySQL, PostgreSQL, SQLite, T-SQL, PL/SQL, BigQuery и Snowflake.
Как это работает
Ваш SQL разбирается в синтаксическое дерево с использованием грамматики выбранного вами диалекта, точно так же, как реальному драйверу базы данных нужно было бы понять конструкции, выражения и вложенность запроса. Затем это дерево печатается обратно в виде текста по единообразным правилам: одна конструкция верхнего уровня (SELECT, FROM, WHERE и так далее) на строку, вложенные выражения и подзапросы с отступом на один уровень глубже, чем их родитель, и каждое ключевое слово переписывается в выбранном вами регистре (верхний, нижний или точно как было введено). Поскольку вывод получается путём повторной печати разобранной структуры, а не редактирования исходного текста, результат всегда является полным, корректным представлением того же запроса.
Какие проблемы решает
- Превращение плотного однострочного запроса (обычного в экспортированных логах или минифицированном коде приложения) снова во что-то читаемое.
- Поддержание единообразного стиля SQL в команде или кодовой базе без необходимости вручную переформатировать каждый запрос.
- Раннее обнаружение настоящей синтаксической ошибки, поскольку парсер отклонит запрос, который также не прошёл бы проверку в реальной базе данных.
- Легче просматривать длинный запрос с множеством соединений и подзапросов, когда он правильно отформатирован с отступами.
Часто задаваемые вопросы
›Почему важно, какой диалект SQL я выберу?
Разные СУБД используют немного разный синтаксис для таких вещей, как конкатенация строк, заключение идентификаторов в кавычки или оконные функции, и форматировщику нужно понимать эти различия, чтобы правильно расставлять отступы и разбивать строки; выбор диалекта, соответствующего тому, где вы на самом деле будете выполнять запрос, например MySQL, PostgreSQL или T-SQL, даёт самый точный и читаемый результат.
›Мой запрос не удалось отформатировать, что-то не так с моим SQL?
Обычно да: этот инструмент действительно анализирует ваш SQL, чтобы понять его структуру перед переформатированием, поэтому настоящая синтаксическая ошибка (непарная скобка, отсутствующее ключевое слово) будет обнаружена здесь точно так же, как её обнаружила бы сама база данных, а сообщение об ошибке примерно указывает, где парсер застрял.
›Меняет ли форматирование то, что делает мой запрос?
Нет, форматирование изменяет только пробелы, разрывы строк и регистр ключевых слов, но никогда не изменяет сами токены, литералы или структуру запроса, поэтому отформатированный запрос всегда ведёт себя точно так же, как оригинал, при выполнении на базе данных.
›Что делает "Сохранить регистр" с ключевыми словами?
Оставляет каждое ключевое слово именно так, как вы его ввели (поэтому SELECT, select и Select все остаются написанными как есть), вместо того чтобы приводить их все к верхнему или нижнему регистру; полезно, если у вашей команды уже есть собственный стиль, который вы не хотите, чтобы этот инструмент переопределял.
›Могу ли я отформатировать несколько операторов одновременно?
Да, вставьте несколько операторов, разделённых точкой с запятой, и каждый из них будет разобран и отформатирован независимо, с пустыми строками между ними, чтобы весь файл миграции или скрипт оставался читаемым.
Похожие инструменты
Текст
Генератор Cron-выражений
Создавайте и анализируйте cron-выражения с помощью редактора полей в реальном времени, описания простыми словами и следующих 5 реальных запусков. Поддерживает шаблоны, сокращения @ и необязательный 6-полевой вариант с секундами.
FreeТекст
Генератор записи DMARC
Создавайте DMARC DNS-запись из понятных полей, с пресетами поэтапного внедрения и индикатором уровня применения в реальном времени.
FreeТекст
Конвертер Excel в HTML-таблицу
Вставьте из Excel или Google Таблиц, либо загрузите файл .xlsx/.xls/.csv, и получите чистую HTML-таблицу с живым предпросмотром, опциональным оформлением и выравниванием числовых столбцов.
FreeТекст
Генератор хешей (MD5/SHA1/SHA256/SHA512)
Хешируйте текст или файл в MD5, SHA-1, SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-512, RIPEMD-160 и CRC32 одновременно, с полем сравнения с известной контрольной суммой.
FreeТекст
Генератор htpasswd
Создайте настоящий файл Apache .htpasswd с bcrypt или SHA, проверенный побайтово по сравнению с официальным инструментом командной строки htpasswd, с поддержкой нескольких пользователей одновременно.
FreeТекст
Конвертер HTML-сущностей
Преобразуйте текст в HTML-сущности и обратно одновременно в обоих направлениях, с десятичным или шестнадцатеричным числовым форматом и таблицей быстрого справочника распространённых сущностей.
FreeТекст
Валидатор HTML
Проверяет HTML на незакрытые теги, дублирующиеся ID, устаревшие элементы и другие распространённые чётко определённые проблемы, проверено собственным парсером сопоставления тегов, не полный валидатор соответствия W3C.
FreeТекст
Конвертер IPv4 в IPv6
Создаёт представления IPv6 с отображением IPv4, совместимые с IPv4, 6to4 и NAT64 для адреса IPv4, а также извлекает адрес IPv4 из любой из этих форм IPv6.
Комментарии (0)
Понравился инструмент? Оставьте комментарий, поделитесь советом или расскажите, как нам его улучшить.
Пока нет комментариев. Будьте первым, кто поделится мнением!