SQL форматер и валидатор - Бесплатно форматирајте SQL упите на мрежи
Бесплатни SQL форматер и валидатор. Аутоматски форматирајте SQL са правилним увлачењем и великим словима. Тренутно проверите синтаксне грешке. Ради са MySQL, PostgreSQL, SQL Server, Oracle.
SQL форматер и валидатор
Форматирајте и валидирајте SQL упите са аутоматским увлачењем, великим словима кључних речи и детекцијом синтаксних грешака.
Dokumentacija
Зашто форматирање SQL-а има значаја
Икада наследили пројекат базе података где SQL изгледа као да га је неко куцао са повезаним очима? Нисте сами. Лоше форматиран SQL је један од најчешћих извора грешака и расипања времена у развоју база података.
Овај SQL форматер и валидатор вам помаже да аутоматски очистите збркане упите. Налепите свој SQL, и одмах примењује исправно увлачење, великим словима пише кључне речи и проверава синтаксне грешке — све у вашем прегледачу без слања података на било који сервер. Оно што уобичајено траје 10-15 минута ручног форматирања, овде се дешава за секунде.
Из мог искуства рада са тимовима база података, највећа уштеда времена није само форматирање — већ хватање грешака пре него што стигну у продукцију. Погрешено постављена заграда или незатворени навод могу да потроше сате debugovanja. Овај алат одмах хвата те проблеме, пре него што било шта извршите на вашој бази података.
Kako koristiti SQL Formatter
Interfejs je namerno minimalan—samo nalepite i idite:
- Nalepite svoj SQL u polje za unos (ili ga direktno unesite ako pišete od nule)
- Posmatrajte automatsko formatiranje dok kucate—bez dugmadi za klikanje, bez podešavanja za konfiguraciju
- Pregledajte greške validacije ako se pojave ispod formatiranog izlaza
- Kopirajte formatiran SQL jednim klikom za upotrebu u vašem razvojnom okruženju, dokumentaciji ili alatu za baze podataka
Radi na bilo kom uređaju sa pregledačem. Formatiranje se odvija u potpunosti na strani klijenta, tako da vaši upiti nikada ne napuštaju vaš računar—važno kada radite sa strukturama produkcijskih baza podataka ili osetljivim šemama.
Шта ради SQL форматер
Капитализација кључних речи
Сви SQL кључни термини се аутоматски пишу великим словима—SELECT, FROM, WHERE, JOIN, и тако даље. Ово прати конвенцију коју користи већина тимова за базе података и чини кључне речи визуелно различитим од назива табела и колона. Када прегледавате сложени упит, ова визуелна раздвојеност вам помаже да брзо препознате структуру упита.
Паметно увлачење
Форматер структурира ваш SQL на основу логијске хијерархије, а не само додавањем насумичних прелома линија. Главне клаузуле попут SELECT и FROM почињу са левом маргином. JOIN клаузуле се увлаче испод FROM да би показале да су део избора табеле. Подупити добијају додатне нивое увлачења, чинећи угнеждену логику јасном.
Ево шта се дешава у пракси: када имате упит са вишеструким спајањима и подупитима, правилно увлачење вам омогућава да видите структуру упита без читања сваке речи. Можете одмах да уочите где једно спајање престаје и друго почиње, или где се подупит користи у вашем SELECT списку.
Логички прелази линија
Прелази линија се појављују тамо где помажу читљивости, а не свуда. Свака главна клаузула добија своју линију. Ставке у листама одвојеним зарезом (попут назива колона у SELECT-у) добијају своју линију са одговарајућим увлачењем. Подупити су визуелно одвојени. CASE изјаве се прекидају на WHEN, THEN и ELSE ради јасноће.
Размак прати конвенције SQL Смерница за стил које се користе у индустрији, што значи да ће ваш форматирани SQL изгледати познато другим програмерима.
SQL Validacija: Šta se Proverava
Validator hvata greške koje obično promaknete kada brzo pišete SQL. Neće zameniti analizator upita vaše baze podataka, ali hvata uobičajene greške pre nego što uopšte pokrenete upit.
Strukturne Greške
Neupareni zagrade su iznenađujuće česti u kompleksnim upitima sa ugneždenim poduputima. Validator broji otvarajuće i zatvarajuće zagrade kako bi odmah signalizirao nepodudaranja. Video sam incidente u produkciji izazvane jednom nedostajućom zagradom u upitu od 200 linija—ovo ih hvata rano.
Nezatvoreni string literali se dešavaju kada zaboravite zatvarajući navod na vrednosti stringa. Vaša baza podataka će ih odmah odbiti, ali hvatanje ovde uštedi vreme.
Problemi sa redosledom klauzula se signaliziraju kada se klauzule pojave van sekvence. Na primer, ako stavite HAVING pre GROUP BY, ili WHERE posle GROUP BY, validator vas upozorava. Ovo prati pravila sintakse SQL standarda definisana u ISO/IEC 9075 SQL standardu.
Logičke Greške
JOIN klauzule bez ON uslova stvaraju slučajne unakrsne join-ove, vraćajući mnogo više redova nego što je nameravano. Čest scenario: dodajete treću ili četvrtu tabelu upitu i zaboravite ON klauzulu. Bez ove provere, možda nećete primetiti dok ne vidite hiljade dupliranih redova u rezultatima.
HAVING bez GROUP BY je tehnički nevažeći SQL u većini baza podataka. HAVING klauzula filtrira grupisane rezultate, pa zahteva GROUP BY da bi radila. Validator hvata ovo logičko nepodudaranje.
Nepotpuni WHERE uslovi se dešavaju kada počnete da kucate uslov ali ga ne završite—poput WHERE status = bez vrednosti. Ove je lako propustiti pri uređivanju upita.
Šta Neće Uočiti
Ovaj validator se fokusira na sintaksu i strukturu, ne i šemu baze podataka. Neće znati ako:
- Vaše tabele ili nazivi kolona postoje u vašoj bazi podataka
- Spajate kompatibilne tipove podataka
- Upit će dobro da se izvrši ili ima probleme sa optimizacijom
- Imate dozvolu za pristup tabelama koje pretraživate
Posmatrajte ga kao prvu proveru pre slanja upita vašoj stvarnoj bazi podataka.
Правила форматирања примењена овим алатом
Форматер примењује доследна правила заснована на конвенцијама SQL смерница које већина тимова за базе података прати.
Кључне речи се пишу великим словима
Сваки SQL кључни термин постаје великим словима: SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP. Ово укључује клаузуле (FROM, WHERE, GROUP BY, HAVING, ORDER BY), типове спајања (JOIN, INNER JOIN, LEFT JOIN), операторе (AND, OR, NOT, IN, BETWEEN, LIKE), и уобичајене функције (COUNT, SUM, AVG, CASE, WHEN).
Зашто великим словима? Ствара визуелну разлику између језичких елемената SQL-а и назива специфичних за вашу базу података (табеле, колоне, алијаси). Приликом прегледа упита, ваше око одмах препознаје структуру.
Увлачење од два размака по нивоу
Главне клаузуле попут SELECT и FROM почињу са левом маргином. JOIN клаузуле се увлаче два размака испод FROM да би показале да су део избора табеле. Подупити се увлаче још два размака за сваки ниво угњеждавања. Ово ствара визуелну хијерархију која одговара логичкој структури.
Листе раздвојене зарезом (нпр. имена колона у SELECT) добијају сопствени ред са доследним увлачењем. Када имате 15 колона у SELECT листи, ово олакшава прегледање и проналажење специфичних колона.
Услови у WHERE клаузулама се равнају вертикално. Када имате више AND или OR услова, равнање одмах чини логичку структуру очигледном.
Пре и после: Погледајте разлику
Пре форматирања:
1select u.id, u.name, o.order_date from users u join orders o on u.id = o.user_id where o.status = "completed" group by u.id order by u.name;
2После форматирања:
1SELECT
2 u.id,
3 u.name,
4 o.order_date
5FROM users u
6 JOIN orders o ON u.id = o.user_id
7WHERE
8 o.status = "completed"
9GROUP BY
10 u.id
11ORDER BY
12 u.name;
13Правила валидације: Шта се означава
Валидатор проверава структурални интегритет и основну логичку конзистентност. Ево шта тражи:
Структуралне провере
Балансирани заграде: Отварајуће и затварајуће заграде морају да се поклапају. Угнежђени упити често имају више нивоа заграда, а погрешно бројање је једна од најчешћих SQL грешака. Валидатор их броји уместо вас.
Правилно затворени стрингови: Сваки отворени навод (једноструки или двоструки) треба да има затварајући навод. Звучи очигледно, али када пишете сложен упит са више текстуалних литерала, лако је пропустити неки.
Исправан редослед клаузула: SQL има специфичне захтеве за редоследом. SELECT долази пре FROM, који долази пре WHERE, који долази пре GROUP BY, који долази пре HAVING, који долази пре ORDER BY. Стављање ван редоследа проузрокује непосредне синтаксне грешке. Валидатор проверава овај редослед на основу SQL стандарда.
Провере логичке конзистентности
JOIN са ON условом: Сваки JOIN треба да има ON или USING клаузулу која одређује како се табеле повезују. Без тога, добијате унакрсно спајање — сваки ред из једне табеле спарен са сваким редом из друге. То је ретко оно што желите и обично указује на недостајућу ON клаузулу.
Комплетни WHERE услови: WHERE клаузула треба да има комплетне предикате. WHERE status = без вредности је непотпун и неважећи. Валидатор означава ове делимичне услове.
HAVING захтева GROUP BY: HAVING клаузула филтрира групне резултате, тако да има смисла само када имате GROUP BY. Коришћење HAVING без GROUP BY је логичка грешка коју већина база података одбацује.
Правила груписања и агрегације: Када користите агрегатне функције попут COUNT() или SUM(), све негруписане колоне у вашем SELECT списку морају се појавити у GROUP BY. Ово је основни SQL захтев који валидатор проверава.
Пример уобичајених грешака које се хватају
Ево SQL-а са више проблема које би валидатор означио:
1SELECT user_id, COUNT(*) FROM orders
2JOIN users
3WHERE status =
4GROUP BY
5HAVING count > 10;
6Откривени проблеми:
JOIN usersнедостајеONуслов (створиће унакрсно спајање)WHERE status =непотпун (нема вредности за поређење)- Празна
GROUP BYклаузула (нису наведене колоне) HAVING count > 10реферира на недефинисану колону
Kada koristiti ovaj SQL formater
Tokom pregleda koda
Ikada pokušali da pregledaju SQL upit od 50 linija napisan u jednoj liniji? Brutalno je. Pre slanja upita na pregled, propustite ih kroz formater. Vaši recenzenti će vam zahvaliti, i moći će da se fokusiraju na logiku umesto da dešifruju strukturu.
Kada pregledavate pull zahteve sa promenama baze podataka, zatražite od saradnika da prvo formatiraju SQL. Mnogo je lakše uočiti logičke greške kada je struktura konzistentna.
Otklanjanje grešaka u produkciji
Kada rešavate problem sa neispravnim upitom u produkciji, pravilno formatiranje vam pomaže da jasno vidite strukturu. Ispravio sam bezbroj upita gde je problem postao očigledan tek kada je SQL bio pravilno formatiran - nedostajući uslov spajanja, pogrešno grupisanje WHERE klauzule ili potupiti upit na pogrešnom mestu.
Kopirajte upit iz dnevnika, nalepite ga ovde, i odmah ćete videti ima li strukturnih problema.
Rad sa generisanim SQL-om
ORM-ovi (Object-Relational Mappers) poput Hibernate, Entity Framework ili SQLAlchemy automatski generišu SQL. Ponekad treba da vidite koji upit zapravo proizvode. Generisani SQL je obično jedna dugačka linija bez formatiranja. Ovaj alat čini ORM-generisane upite čitljivim kako biste ih razumeli i optimizovali.
Učenje i podučavanje SQL-a
Ako učite SQL ili ga predajete, ovaj formater vam pomaže da razumete pravilnu strukturu upita. Kada nalepite ispravan upit i vidite kako se formatira, učite konvencije. Kada nalepite pogrešan upit i vidite greške validacije, shvatate zašto ne radi.
Migracija između sistema baza podataka
Različite baze podataka (PostgreSQL, MySQL, SQL Server) imaju blago različite SQL dijalekte. Prilikom migracije upita između sistema, pravilno formatiranje vam pomaže da uočite sintaksu specifičnu za dijalekt koja možda zahteva prilagođavanje. Formater prati standardne SQL konvencije koje rade u većini glavnih baza podataka.
Алтернативе овом SQL форматеру
IDE-ови специфични за базе података
Алати попут DataGrip, SQL Server Management Studio или MySQL Workbench имају уграђене форматере. Они су моћни и директно се интегришу са вашим везама база података.
Компромис: захтевају инсталацију и подешавање. DataGrip кошта 199$/годишње за појединце. SSMS је бесплатан, али само за Windows. Ако вам треба брзо форматирање без инсталирања било чега, или радите са више база података, веб алат је практичнији.
Проширења за едиторе
Ако пишете SQL у VS Code или Sublime Text, проширења попут SQL Beautify или SqlBeautifier доносе форматирање директно у ваш едитор. Ово добро функционише када активно пишете упите и желите тренутно форматирање као део вашег радног тока.
Ограничење: проширења захтевају конфигурацију и везана су за ваш специфичан едитор. Приликом дељења SQL-а са колегама или постављања упита у документацији, веб форматер обезбеђује да сви виде исто форматирање.
Форматери за командну линију
Алати попут sqlformat (Python) или sql-formatter-cli (Node.js) могу се интегрисати у CI/CD pipeline-ове за аутоматско форматирање SQL-а у систему контроле верзија. Ово обезбеђује доследност у тиму.
Најбоље се користе за аутоматизоване токове рада, а не за ad-hoc форматирање. Ако само чистите неколико упита или учите SQL, алати командне линије додају непотребну сложеност.
Kako je SQL formatiranje postalo standardna praksa
SQL je razvijen u IBM-u 1970-ih, ali su konvencije formatiranja nastale mnogo kasnije. Rani SQL je bio funkcionalan, ali nedosljedan — svaki programer je formatirao upite drugačije.
Prekretnica je nastupila 1990-ih kada su baze podataka prešle sa projekata jednog programera na timski razvoj. Organizacije su počele da kreiraju interne SQL stilske vodiče kako bi održale konzistentnost. Kada imate pet programera koji rade na istoj bazi podataka, čitljiv SQL postaje ključan za saradnju.
2000-ih su stigli ORM-ovi koji su automatski generisali SQL. Ovi alati su proizvodili funkcionalan, ali ružan SQL — sve u jednoj liniji, bez uvlačenja. Ovo je stvorilo potražnju za automatskim formaterima koji bi generisani SQL učinili čitljivim za ljude.
Online SQL formateri su se pojavili 2010-ih kako se web razvoj sazrevao. Umesto instaliranja alata ili konfigurisanja IDE dodataka, programeri su mogli da formatiraju SQL u pregledaču. Ovo je demokratizovalo pristup pravilnom formatiranju za sve — od početnika koji uče SQL do iskusnih programera koji čiste brze upite.
Danas se SQL formatiranje smatra baznom praksom, slično formatiranju koda u drugim programskim jezicima. SQL Stilski Vodič Simona Holivela pruža široko prihvaćene konvencije, a alati poput ovog automatski implementiraju te standarde.
Примери кода
Пример 1: Основни SELECT упит
Неформатирано:
1select id, first_name, last_name, email from customers where status = 'active' order by last_name, first_name;
2Форматирано:
1SELECT
2 id,
3 first_name,
4 last_name,
5 email
6FROM
7 customers
8WHERE
9 status = 'active'
10ORDER BY
11 last_name,
12 first_name;
13Пример 2: JOIN упит
Неформатирано:
1select c.id, c.name, o.order_date, o.total_amount from customers c left join orders o on c.id = o.customer_id where o.order_date >= '2023-01-01' and o.status != 'cancelled' order by o.order_date desc;
2Форматирано:
1SELECT
2 c.id,
3 c.name,
4 o.order_date,
5 o.total_amount
6FROM
7 customers c
8 LEFT JOIN orders o ON c.id = o.customer_id
9WHERE
10 o.order_date >= '2023-01-01'
11 AND o.status != 'cancelled'
12ORDER BY
13 o.order_date DESC;
14Пример 3: Сложени упит са подупитом
Неформатирано:
1select d.department_name, (select count(*) from employees e where e.department_id = d.id) as employee_count, (select avg(salary) from employees e where e.department_id = d.id) as avg_salary from departments d where d.active = true having employee_count > 0 order by avg_salary desc;
2Форматирано:
1SELECT
2 d.department_name,
3 (
4 SELECT
5 COUNT(*)
6 FROM
7 employees e
8 WHERE
9 e.department_id = d.id
10 ) AS employee_count,
11 (
12 SELECT
13 AVG(salary)
14 FROM
15 employees e
16 WHERE
17 e.department_id = d.id
18 ) AS avg_salary
19FROM
20 departments d
21WHERE
22 d.active = TRUE
23HAVING
24 employee_count > 0
25ORDER BY
26 avg_salary DESC;
27Програмско SQL форматирање
Овде су примери како да се implementira SQL форматирање у различитим програмским језицима:
1// JavaScript SQL форматирање користећи sql-formatter библиотеку
2const sqlFormatter = require('sql-formatter');
3
4function formatSQL(sql) {
5 return sqlFormatter.format(sql, {
6 language: 'sql',
7 uppercase: true,
8 linesBetweenQueries: 2,
9 indentStyle: 'standard'
10 });
11}
12
13const rawSQL = "select id, name from users where status='active'";
14const formattedSQL = formatSQL(rawSQL);
15console.log(formattedSQL);
161# Python SQL форматирање користећи sqlparse
2import sqlparse
3
4def format_sql(sql):
5 return sqlparse.format(
6 sql,
7 reindent=True,
8 keyword_case='upper',
9 identifier_case='lower',
10 indent_width=2
11 )
12
13raw_sql = "select id, name from users where status='active'"
14formatted_sql = format_sql(raw_sql)
15print(formatted_sql)
161// Java SQL форматирање користећи JSqlParser
2import net.sf.jsqlparser.parser.CCJSqlParserUtil;
3import net.sf.jsqlparser.statement.Statement;
4
5public class SQLFormatter {
6 public static String formatSQL(String sql) throws Exception {
7 Statement statement = CCJSqlParserUtil.parse(sql);
8 return statement.toString()
9 .replaceAll("(?i)SELECT", "\nSELECT")
10 .replaceAll("(?i)FROM", "\nFROM")
11 .replaceAll("(?i)WHERE", "\nWHERE")
12 .replaceAll("(?i)ORDER BY", "\nORDER BY");
13 }
14
15 public static void main(String[] args) throws Exception {
16 String rawSQL = "select id, name from users where status='active'";
17 String formattedSQL = formatSQL(rawSQL);
18 System.out.println(formattedSQL);
19 }
20}
211<?php
2// PHP SQL форматирање
3function formatSQL($sql) {
4 // Замена кључних речи великим словима
5 $keywords = ['SELECT', 'FROM', 'WHERE', 'JOIN', 'LEFT JOIN', 'RIGHT JOIN',
6 'INNER JOIN', 'GROUP BY', 'ORDER BY', 'HAVING', 'LIMIT'];
7
8 $formattedSQL = $sql;
9 foreach ($keywords as $keyword) {
10 $formattedSQL = preg_replace('/\b' . preg_quote($keyword, '/') . '\b/i', "\n$keyword", $formattedSQL);
11 }
12
13 // Додавање увлачења
14 $lines = explode("\n", $formattedSQL);
15 $result = '';
16 $indentLevel = 0;
17
18 foreach ($lines as $line) {
19 $trimmedLine = trim($line);
20 if (!empty($trimmedLine)) {
21 $result .= str_repeat(" ", $indentLevel) . $trimmedLine . "\n";
22 }
23 }
24
25 return $result;
26}
27
28$rawSQL = "select id, name from users where status='active'";
29$formattedSQL = formatSQL($rawSQL);
30echo $formattedSQL;
31?>
32Често постављана питања
Да ли овај SQL форматер ради са PostgreSQL, MySQL и SQL Server-ом?
Да, обрађује стандардну SQL синтаксу која је уобичајена код главних база података—PostgreSQL, MySQL, SQL Server (T-SQL), Oracle, SQLite и MariaDB. Форматер се фокусира на основни SQL који ради свуда: SELECT, JOIN, WHERE, GROUP BY и слично.
Специфичне функције база података можда неће бити савршено форматиране. На пример, PostgreSQL-ов низ синтаксе или SQL Server-ове власничке функције можда неће добити посебно форматирање, али неће ни покварити форматер. Упит ће и даље бити читљивији него што је био.
Да ли се мој SQL код шаље на сервер?
Не. Све се дешава у вашем прегледачу. Налепите свој SQL, и он се форматира локално без икаквих мрежних захтева. Ваши упити никада не напуштају вашу машину.
Ово је важно када радите са производним шемама база података или власничком пословном логиком. Не постоји ризик да се осетљиве информације евидентирају или складиште на туђем серверу.
Да ли валидатор може да открије све SQL грешке?
Нимало близу. Открива структурне и синтаксне проблеме—недостајуће заграде, незатворене наводнике, клаузуле у погрешном редоследу. То је све.
Неће знати јесу ли имена табела погрешна, јесу ли типови података некомпатибилни или хоће ли упит трајати 10 минута. За то вам треба ваша стварна база података. Размислите о овом валидатору као о провери правописа за SQL, а не као о потпуном анализатору упита.
Зашто форматирати SQL када база података покреће упит без обзира?
Базама података није стало до форматирања—оне анализирају упит без обзира. Али људима јесте. Када треба да исправите неисправан упит, измените постојећи или прегледате туђи SQL, правилно форматирање прави разлику између разумевања за 30 секунди или 30 минута.
Форматирани SQL такође помаже да уочите логичке грешке. Када је структура јасна, можете видети јесте ли погрешно спојили табеле или ставили услове на погрешно место.
Да ли могу да прилагодим увлачење или стил кључних речи?
Тренутно не. Форматер користи стандардне конвенције: великa словa кључних речи, увлачење од два размака, клаузуле на одвојеним линијама. Ови прате SQL Водич за стил који већина тимова користи.
Ако вам треба прилагођено форматирање (другачина ширина увлачења, мала слова кључних речи), требаћете подесив алат командне линије попут sqlformat или IDE са подешавањима форматирања.
Да ли ће ово радити са складиштеним процедурама од 1000 линија?
Форматираће велике упите, иако веома сложене складиштене процедуре (преко 1000 линија) могу потрајати неколико секунди за обраду. Форматер обрађује SQL који налепите, без обзира на дужину.
За масивне складиштене процедуре, можда ћете желети да их поделите на мање делове или користите базу података специфичан IDE који је оптимизован за велике датотеке.
Да ли форматирање мења начин извршавања мог упита?
Не. Форматирање само додаје размаке и мења величину слова. Ваша база података их игнорише. Форматирани упит враћа потпуно исте резултате и извршава се са истим перформансама као и неформатирани.
Једини изузетак: ако валидатор пронађе стварне синтаксне грешке (недостајуће заграде итд.), њихово исправљање ће променити понашање—али само са "не покреће се" на "покреће се исправно".
Који SQL стандард ово прати?
Форматер прати SQL-92 конвенције са проширењима за уобичајене функције у SQL:1999 и каснијим стандардима. Ово покрива SQL који већина програмера пише свакодневно—SELECT упити, спајања, подупити, CASE изјаве, прозорске функције.
Веома нове SQL функције из SQL:2016 или SQL:2019 можда неће бити препознате, али неће ни покварити форматер. Добићете само основно форматирање уместо специјализованог руковања.
Да ли могу да користим ово за Oracle PL/SQL или SQL Server T-SQL?
За основне упите, да. За процедуралне кодове (PL/SQL блокови, T-SQL складиштене процедуре са контролним током), форматирање ће бити ограничено. Алат се фокусира на SELECT, INSERT, UPDATE, DELETE изјаве и њихове клаузуле.
Ако интензивно радите са процедуралним кодом специфичним за базу података, IDE ваше базе (SQL Developer за Oracle, SSMS за SQL Server) пружиће боље форматирање које разуме потпуну синтаксу.
Референце и додатна литература
- SQL Водич за стил по Симону Холивелу - Де facto стандард за конвенције форматирања SQL-а који користе развојни тимови
- ISO/IEC 9075 SQL Стандард - Званична међународна спецификација SQL стандарда
- PostgreSQL SQL Синтаксна документација - Свеобухватна референца за PostgreSQL SQL синтаксу
- Microsoft T-SQL Референца - Службена документација за T-SQL дијалект SQL Сервера
- MySQL Приручник за референце - Потпуна референца за SQL изјаве у MySQL-у
Почните да форматирате свој SQL
Читљив SQL олакшава отклањање грешака, чини прегледе кода једноставнијим и побољшава сарадњу. Налепите свој упит изнад да бисте га видели форматиран према индустријским стандардима — без инсталације, без конфигурације, без напуштања података вашег прегледача.