اس ٹول کے بارے میں
ایس کیو ایل کے استفسارات تیزی سے طویل اور پیچیدہ ہو جاتے ہیں — کئی ٹیبلز، نیسٹڈ سبکوریز، بہت سی شرائط کے ساتھ بڑی WHERE شقیں، پیچیدہ CASE اظہارات میں شامل ہوتے ہیں۔ کومپیکٹ ایس کیو ایل کو چند سطروں پر گھیرا ہوا ناقابلِ مطالعہ ہے۔ مستقل کیپٹلائزیشن کے ساتھ مناسب طریقے سے انڈینٹ شدہ SQL استفسار کے ڈھانچے کو ایک نظر میں مرئی بناتا ہے۔ فارمیٹنگ ایک سوال کے درمیان فرق ہے جسے آپ ڈیبگ کر سکتے ہیں اور ایک آپ نہیں کر سکتے۔
یہ فارمیٹر ایس کیو ایل کو پارس کرتا ہے اور انڈینٹڈ، مناسب طریقے سے کیسڈ آؤٹ پٹ کو خارج کرتا ہے۔ SQL کلیدی الفاظ (SELECT, FROM, WHERE, JOIN, GROUP BY) عام طور پر بڑے ہوتے ہیں، ٹیبل اور کالم کے نام ماخذ سے مماثل ہوتے ہیں، اور انڈینٹیشن نیسٹنگ کی عکاسی کرتا ہے (ان کے والدین کے اندر انڈینٹ کردہ ذیلی سوالات، CASE برانچز انڈینٹڈ)۔ ایک سے زیادہ بولی سپورٹ MySQL، PostgreSQL، SQL Server، Oracle، اور SQLite اختلافات کو ہینڈل کرتا ہے۔
فارمیٹنگ غیر تباہ کن ہے — فارمیٹ شدہ استفسار ان پٹ سے فعال طور پر مماثل ہے۔ صرف وائٹ اسپیس اور کیس کی تبدیلی۔
ایس کیو ایل کیوں فارمیٹ کریں۔
گھنے غیر فارمیٹ شدہ ایس کیو ایل کو پڑھنا ذہنی طور پر ٹیکس ہے۔ اس بات کی نشاندہی کرنا کہ کن حالات سے تعلق رکھتے ہیں کون سے JOIN، ذیلی سوالات کہاں سے شروع اور ختم ہوتے ہیں، اور CASE برانچوں کا تعلق کس طرح ہوتا ہے یہ سب کچھ مشکل ہو جاتا ہے جب سب کچھ چند لائنوں پر ہوتا ہے۔ فارمیٹ شدہ ایس کیو ایل پڑھنے میں تیز تر ہے اور غلط پڑھنے کے ڈھانچے سے کیڑے کو کم کرتا ہے۔
کوڈ کا جائزہ لینے کے فوائد خاص طور پر۔ جائزہ لینے والے تیزی سے سمجھ سکتے ہیں کہ جب کوئی سوال فارمیٹ کیا جاتا ہے تو وہ کیا کرتا ہے۔ جائزے کے دوران غیر فارمیٹ شدہ ایس کیو ایل کو پڑھنا چھوڑنے یا ربڑ سٹیمپنگ کی حوصلہ افزائی کرتا ہے۔ جب استفسارات تبدیل ہوتے ہیں تو فارمیٹ شدہ ایس کیو ایل بھی معنی خیز اختلافات پیدا کرتا ہے۔
تکنیکی تفصیلات
ایس کیو ایل پارسنگ کے لیے بولی کو سمجھنے کی ضرورت ہوتی ہے کیونکہ مختلف ڈیٹا بیس مختلف طریقوں سے گرامر کو بڑھاتے ہیں۔ فارمیٹر عام طور پر کلیدی الفاظ، شناخت کنندگان، لٹریلز اور اوقاف کی شناخت کے لیے ٹوکنائزر کا استعمال کرتا ہے، پھر ٹوکنز کے درمیان وائٹ اسپیس اور انڈینٹیشن کے اصولوں کے ساتھ آؤٹ پٹ تیار کرتا ہے۔
انڈینٹیشن کے اصول: SELECT, FROM, HERE, GROUP BY, ORDER BY ہر ایک اپنی اپنی لائن پر۔ FROM کے تحت آنے والی لائنوں پر ٹیبلز کو جوائن کیا گیا۔ پڑھنے کی اہلیت کے لیے علیحدہ خطوط پر WHERE میں شرائط۔ ان کے اپنے انڈینٹڈ بلاکس میں پوچھے گئے سوالات۔
کیس کنونشنز: کلیدی الفاظ بڑے (SELECT, FROM, WHERE) سب سے عام ہیں۔ کچھ ٹیمیں چھوٹے حروف کو ترجیح دیتی ہیں۔ شناخت کنندگان (ٹیبل اور کالم کے نام) سورس کیس کو محفوظ کرتے ہیں۔
اکثر پوچھے جانے والے سوالات
- کیا فارمیٹنگ استفسار کے رویے کو تبدیل کرتی ہے؟
- نہیں، ایس کیو ایل فارمیٹنگ صرف وائٹ اسپیس، لائن بریکس، اور مطلوبہ الفاظ کے کیسنگ کو ایڈجسٹ کرتی ہے۔ استفسار کی منطق، عمل درآمد کا منصوبہ، اور نتائج ایک جیسے ہی رہتے ہیں۔ یہ خالصتاً پڑھنے کی اہلیت میں بہتری ہے۔
- کون سی ایس کیو ایل بولیاں سپورٹ ہیں؟
- یہ ٹول معیاری SQL اور مخصوص بولیوں کی حمایت کرتا ہے: MySQL، PostgreSQL، SQLite، SQL Server (T-SQL)، اور Oracle PL/SQL۔ بولی کے لیے مخصوص مطلوبہ الفاظ اور افعال درست طریقے سے پہچانے جاتے ہیں۔
- کیا یہ ذیلی سوالات اور CTEs کو ہینڈل کرتا ہے؟
- جی ہاں کامن ٹیبل ایکسپریشنز (شقوں کے ساتھ)، نیسٹڈ سبکوریز، ونڈو فنکشنز، اور پیچیدہ JOIN چینز کو مناسب انڈینٹیشن لیولز کے ساتھ فارمیٹ کیا گیا ہے۔
- کیا میں اسے ذخیرہ شدہ طریقہ کار کے لیے استعمال کر سکتا ہوں؟
- فارمیٹر سنگل ایس کیو ایل اسٹیٹمنٹس کو بہترین طریقے سے ہینڈل کرتا ہے۔ ملٹی سٹیٹمنٹ کے طریقہ کار، محرکات اور فنکشنز کام کر سکتے ہیں لیکن پیچیدہ طریقہ کار کی منطق (IF/ELSE، loops) فارمیٹنگ کا انحصار بولی پر ہوتا ہے۔
- کیا کلیدی الفاظ بڑے یا چھوٹے ہونے چاہئیں؟
- کنونشن مختلف ہوتا ہے۔ بڑے کلیدی الفاظ روایتی اور عام ہیں۔ جدید طرز کے گائیڈز میں لوئر کیس کو اپنایا جا رہا ہے۔ ایک کو منتخب کریں اور کوڈ بیس کے اندر مستقل رہیں۔
- کیا یہ ذخیرہ شدہ طریقہ کار کو فارمیٹ کرتا ہے؟
- زیادہ تر فارمیٹرز ذخیرہ شدہ طریقہ کار نحو کو ہینڈل کرتے ہیں (طریقہ کار بنائیں، شروع/اختتام بلاکس، کنٹرول بہاؤ)۔ بولی کے لیے مخصوص ایکسٹینشنز جزوی طور پر معاون ہو سکتی ہیں۔
- کیا میرا SQL اپ لوڈ ہے؟
- نہیں۔ فارمیٹنگ آپ کے براؤزر میں ہوتی ہے۔
- کیا میں کمانڈ لائن سے فارمیٹ کر سکتا ہوں؟
- کئی ایس کیو ایل فارمیٹرز CLI ٹولز (sqlfluff، sql-formatter) پیش کرتے ہیں۔ انہیں بیچ فارمیٹنگ یا CI انضمام کے لیے استعمال کریں۔ براؤزر فارمیٹرز ایڈہاک ون آف استعمال کے لیے ہیں۔