Ayusin ang query para mabasa, hindi ginagalaw ang nasa panipi.
Para saan ito
Ilatag ang mahabang database query para mabasa ng tao — may sariling linya ang bawat clause, naka-indent ang mga kondisyon sa ilalim ng WHERE — at gawing iisa ang laki ng titik ng mga keyword.
Bago magsimula
Ihanda ang query, kinopya mula sa code mo, sa log o sa database tool. Sa browser mo ito inaayos at walang ipinapadala kahit saan, na mahalaga kapag pinangangalanan ng query ang sarili mong mga table o may laman itong totoong value.
I-paste ang query
Palitan ng sarili mong SQL ang sample sa Query. Puwedeng iisang mahabang linya ito, o ilang statement na pinaghihiwalay ng semicolon.
Piliin ang itsura ng keyword
Ang keyword ay ang sariling salita ng SQL, gaya ng SELECT, FROM at WHERE. Sa Mga keyword, piliin ang MALAKING TITIK para mamukod sila sa mga pangalan mo, maliit na titik kung ganoon sumulat ang team mo, o Iwan kung paano isinulat para layout lang ang mabago.
Piliin ang indent
Itinatakda ng Indent kung gaano kalalim papasok ang mga linya — ang AND at OR sa ilalim ng WHERE, at ang query sa loob ng bracket: Dalawang espasyo, Apat na espasyo o Tab. Itugma sa iba mo pang code.
I-format at kopyahin
Pindutin ang I-format. Nasa band sa itaas ng card ang inayos na query — nagbabago rin ito habang nagta-type ka — at inilalagay ito ng Kopyahin sa clipboard mo.
Pagbasa ng resulta
Kung may problema
Ang nasa loob ng panipi ay hindi code, at iyon ang buong hirap. Ang formatter na naglalaki ng keyword gamit ang basta paghahanap ay ginagawang 'SELECT one FROM the list' ang talang nagsasabing 'select one from the list' — tahimik na binabago ang datos sa query na ipinaayos lang sana.
Kaya tinotoken muna ito, at keyword lang ang binabago ang case. Ganoon din ang komento.
Hindi rin ginagalaw ang pangalan ng column. Sa PostgreSQL, ang identifier na walang panipi ay bumababa sa maliit na titik at ang may panipi ay hindi — kaya ang pagbabago ng case ay puwedeng magpalit kung aling column ang tinutukoy.
At hindi ito nagpa-parse o nagve-validate. Inaayos nito ang anyo para mabasa ng tao. Ang formatter na nag-aangking nagve-validate ng SQL ay nag-aangking ipinatupad nito ang isang dialect.
Hindi, at iyon ang pangunahing tinatamaan ng tool na ito. Ang formatter na nagpapalaki ng keyword gamit ang payak na paghahanap ay ginagawang mukhang SQL na walang kuwenta ang notang nagsasabing “select one from the list” — tahimik na binabago ang datos sa loob ng query na pinaayos mo lang sana. Nagto-token muna ito, kaya ang nakilalang keyword lang ang binabago ang anyo. Iniiwan ang komento sa parehong dahilan.
Dahil puwedeng may kahulugan ang anyo ng titik. Sa PostgreSQL, ang identifier na walang panipi ay bumabagsak sa maliit na titik at ang may panipi ay hindi, kaya magkaibang column ang "Order" at ang Order — ang pagbabago sa anyo ng isa ay puwedeng magpalit kung aling column ang ibig sabihin ng query. Keyword lang ang ginagalaw.
Oo. Ang double quote ang karaniwang pananda ng identifier, ang backtick ay MySQL at ang square bracket ay SQL Server, at ang tatlo ay pinapanatiling eksakto sa pagkakasulat. Iyon ang dahilan kung bakit gumagana ang column na tinatawag na order, at ang pagkakamali dito ang paraan ng pagsira ng formatter sa perpektong wastong query.
Hindi. Inilalatag nito ang pahayag para mabasa ng tao, at iyon ang kailangan mo kapag nakatitig ka sa 400-karakter na linya mula sa ORM. Hindi ito nagpaparse, nagpapatunay o nagsusulat muli — ang formatter na nagsasabing pinapatunayan nito ang SQL ay nagsasabing ipinapatupad nito ang isang dialect, at ilan silang hindi magkasundo.
Inaayos pa rin ito. Ang may query na hindi tatakbo ay gusto pa ring makita ang hugis nito, at ang pagtangging ilatag ito ay nag-aalis ng iisang bagay na puwedeng magturo sa kanila kung saan nagkamali.
Hindi. Sa browser mo nangyayari ang lahat at walang ipinapadala o itinatago — at mahalaga iyon dito, dahil madalas na may dalang pangalan ng talahanayan, pangalan ng column at minsan ay tunay na halaga mula sa sarili mong database ang query.
Lahat ay pinapanatili kung paano isinulat. Iyan ang nagpapagana sa column na tinawag na order.
Mahalaga
Runs entirely in your browser; nothing is transmitted. This lays a query out to be read — it does not parse, validate or rewrite it. Only keywords are recased; identifiers and anything inside quotes are left exactly as written. Walang ipinapadala sa mga server namin ang tina-type mo rito — sa browser mo tumatakbo nang buo ang pagkuwenta.