SQL форматиране
Форматирайте SQL заявки за PostgreSQL, MySQL, SQL Server, Oracle, BigQuery, Snowflake и още, с избор на регистър на ключовите думи и отстъп, във вашия браузър.
Как да форматирате SQL заявка
- Поставете една или повече заявки или щракнете върху Отвори файл, за да заредите файл
.sql(до 10 МБ). - Изберете Диалект на вашата база данни, например PostgreSQL, MySQL или SQL Server (T-SQL).
- Изберете как да се пишат Ключови думи (ГЛАВНИ БУКВИ, малки букви или Както са въведени) и Отстъп.
- Отметнете Без интервали около операторите, ако предпочитате
a=b+1предa = b + 1. - Щракнете върху Форматирай SQL, после копирайте или изтеглете резултата. Промяната на опция форматира заявката отново.
Заявката само се преформатира като текст. Тя никога не се изпълнява и никога не се изпраща към база данни или сървър.
Какво прави форматерът
Инструментът използва библиотеката с отворен код sql-formatter. Тя разделя всеки израз на клаузи и поставя всяка ключова дума на клауза (SELECT, FROM, WHERE, GROUP BY, ORDER BY…) на отделен ред, като съдържанието на клаузата е с отстъп под нея. Колоните в списъка на SELECT се поставят по една на ред, условията с AND и OR започват нови редове, а подзаявките и изразите CASE са с отстъп според нивото на влагане. Кратките изрази в скоби остават на един ред. Няколко израза, разделени с точка и запетая, се отделят с празен ред.
Променят се само интервалите и регистърът на буквите. Низовите литерали, идентификаторите в кавички и коментарите се запазват точно, така че форматираната заявка връща същия резултат като оригиналната.
Защо диалектът има значение
SQL базите данни споделят основния език, но се различават в детайлите, а форматерът трябва да ги познава, за да прочете заявката правилно:
- идентификаторите се поставят в
"двойни кавички"в стандартния SQL и PostgreSQL, в`обратни апострофи`в MySQL, MariaDB и BigQuery и в[квадратни скоби]в SQL Server; - оператори като
->>и преобразуванията::в PostgreSQL или достъпът до път с:в Snowflake съществуват само в някои диалекти; - заместителите на параметри се различават:
?,$1,:nameили@name; - всеки диалект има свои запазени думи и функции, които опцията Ключови думи променя.
Ако получите „Заявката не може да се анализира“, първо проверете дали избраният диалект съвпада с вашата база данни. Грешката показва реда и колоната, където анализът е спрял. Стандартен SQL е най-ограничителният избор; избирайте действителната си база данни, когато е възможно.
Регистър на ключовите думи и съвети за стил
Ключовите думи с главни букви остават най-разпространената конвенция, защото отделят езика от имената на таблици и колони с един поглед. Малките букви са популярни в екипи, които ги намират за по-лесни за четене, а Както са въведени оставя вашия избор непроменен. Имената на таблици, колони и функции никога не се променят: само запазените ключови думи следват опцията. При дълги файлове последователното форматиране прави и разликите между версиите много по-лесни за преглед.
Често задавани въпроси
Кои диалекти се поддържат?
Стандартен SQL, PostgreSQL, MySQL, MariaDB, SQLite, SQL Server (T-SQL), Oracle (PL/SQL), Google BigQuery, Snowflake, Amazon Redshift, IBM Db2, Db2 for i, Apache Hive, Spark SQL, Trino/Presto, DuckDB, ClickHouse, SingleStoreDB, TiDB и Couchbase N1QL.
Проверява ли инструментът дали заявката ми е валидна?
Не. Той проверява дали заявката може да се прочете в избрания диалект, но не и дали таблиците или колоните съществуват, или дали заявката ще се изпълни. Това може да потвърди само вашата база данни.
Може ли да форматира съхранени процедури?
Отчасти. Изразите в процедурите се форматират, но процедурните блокове (BEGIN … END, цикли, DECLARE) се подреждат по-просто, отколкото в специализирана среда за разработка.
Изпраща ли се заявката ми на сървър?
Не. Форматирането се изпълнява във вашия браузър, така че заявки с имена на таблици или данни остават на вашия компютър.
Защо коментарът ми е на друго място?
Коментарите се запазват, но коментар в края на ред може да се премести заедно с елемента, който следва, когато този елемент отиде на нов ред.
Сродни инструменти
- JSON форматиране и валидиране Безплатно форматиране и валидиране на JSON, което подрежда, минимизира и проверява JSON във вашия браузър, със синтактични грешки по ред и колона.
- JavaScript форматиране и минимизиране Подредете минимизиран JavaScript, минимизирайте го с Terser или проверете синтаксиса му с точен ред и колона на грешката. Работи само във вашия браузър.
- XML форматиране Форматирайте, минимизирайте и валидирайте XML във вашия браузър. Грешките се показват с ред и колона. Файловете ви никога не се качват.