SQL ، یا Structured Query Language ، ایک معیاری پروگرامنگ زبان ہے جو متعلقہ ڈیٹا بیس کو منظم کرنے اور ان میں موجود ڈیٹا پر مختلف کارروائیوں کو انجام دینے کے لیے استعمال ہوتی ہے۔ SQL ناقابل یقین حد تک ورسٹائل ہے، جسے ڈیٹا بیس کے منتظمین، ڈیٹا تجزیہ کار، اور ڈویلپرز ڈیٹا بیس کے اندر ڈیٹا کو استفسار کرنے، داخل کرنے، اپ ڈیٹ کرنے اور حذف کرنے کے لیے استعمال کرتے ہیں۔
ایس کیو ایل کے مرکز میں ایک ڈیٹا بیس کا تصور ہے۔ ڈیٹا بیس کے بارے میں سوچا جا سکتا ہے کہ متعلقہ ڈیٹا کے مجموعے کو اس انداز میں ترتیب دیا جائے جو ڈیٹا کے انتظام اور بازیافت میں سہولت فراہم کرے۔ ڈیٹا بیس کو بنیادی طور پر دو اقسام میں تقسیم کیا گیا ہے: متعلقہ ڈیٹا بیس اور غیر متعلقہ ڈیٹا بیس ۔ ایس کیو ایل بنیادی طور پر متعلقہ ڈیٹا بیس کے ساتھ استعمال ہوتا ہے جہاں ڈیٹا کو ٹیبلز میں محفوظ کیا جاتا ہے جو رشتوں کے ذریعے ایک دوسرے سے جڑے ہوتے ہیں۔
متعدد بنیادی SQL کمانڈز ہیں جو متعلقہ ڈیٹا بیس کے ساتھ کام کرنے کے لیے ضروری ہیں۔
ڈیٹابیس پر کیے جانے والے اکثر آپریشنز میں سے ایک SELECT اسٹیٹمنٹ کا استعمال کرتے ہوئے ڈیٹا سے استفسار کرنا ہے۔ SELECT بیان کی آسان ترین شکل درج ذیل ہے:
ٹیبل کے نام سے کالم 1، کالم 2 منتخب کریں؛
یہ کمانڈ مخصوص ٹیبل سے مخصوص کالم واپس کر دے گی۔ ٹیبل سے تمام کالم منتخب کرنے کے لیے، ستارہ (*) کی علامت استعمال کی جاتی ہے:
ٹیبل کے نام سے * منتخب کریں؛
SELECT بیان کے ذریعے واپس آنے والے نتائج کو کم کرنے کے لیے، WHERE شق استعمال کی جا سکتی ہے۔ یہ شق ان شرائط کی وضاحت کرتی ہے جو ڈیٹا کو منتخب کرنے کے لیے پورا کرنا ضروری ہے۔ مثال کے طور پر:
منتخب کریں * ملازمین سے جہاں محکمہ = 'سیلز'؛
یہ کمانڈ ملازمین کے ٹیبل میں تمام قطاریں واپس کر دے گا جہاں ڈیپارٹمنٹ کالم کی ویلیو 'سیلز' ہے۔
متعلقہ ڈیٹا بیس میں، ڈیٹا کو اکثر متعدد جدولوں میں تقسیم کیا جاتا ہے۔ ان کے درمیان متعلقہ کالم کی بنیاد پر دو یا دو سے زیادہ جدولوں سے قطاروں کو ملانے کے عمل کو جوائننگ کہا جاتا ہے۔ سب سے عام جوائننگ آپریشن INNER JOIN ہے، جو دونوں ٹیبلز میں کم از کم ایک میچ ہونے پر قطاریں لوٹاتا ہے۔
مثال:
ملازمین کا نام منتخب کریں، محکموں کا نام ملازمین سے اندرونی جوائن کریں.
یہ کمانڈ بالترتیب مماثل Department_id اور id کالموں کی بنیاد پر ملازمین اور محکموں کی میزوں میں شامل ہوتی ہے، اور دونوں جدولوں سے نام کے کالموں کو منتخب کرتی ہے۔
ایس کیو ایل قطاروں کو گروپ کرنے کی اجازت دیتا ہے جن کی قدریں مخصوص کالموں میں ایک جیسی ہوتی ہیں مجموعی ڈیٹا میں، مثال کے طور پر، ہر شعبہ میں ملازمین کی تعداد گننا۔ یہ GROUP BY بیان کا استعمال کرتے ہوئے حاصل کیا جاتا ہے۔ ایک مثال سوال اس طرح نظر آسکتا ہے:
محکمہ منتخب کریں، COUNT(*) بطور نمبر_آف_ملازمین ملازمین کے گروپ کے لحاظ سے محکمہ؛
یہ کمانڈ ملازمین کی میز میں قطاروں کو محکمے کے کالم کے مطابق گروپ کرتا ہے اور ہر محکمے میں ملازمین کی تعداد شمار کرتا ہے۔
ایس کیو ایل کئی مجموعی افعال پیش کرتا ہے جو اقدار کے سیٹ پر کام کرتے ہیں اور ایک ہی قدر واپس کرتے ہیں۔ عام طور پر استعمال ہونے والے مجموعی افعال میں شامل ہیں:
مثال کے طور پر، ملازمین کی میز میں زیادہ سے زیادہ تنخواہ تلاش کرنے کے لیے، کوئی شخص درج ذیل استفسار کا استعمال کر سکتا ہے:
ملازمین سے زیادہ سے زیادہ (تنخواہ) کا انتخاب کریں؛
ایس کیو ایل میں ٹرانزیکشن ایک یا ایک سے زیادہ ایس کیو ایل کمانڈز کی ترتیب ہے جو ایک اکائی کے طور پر انجام دی جاتی ہے۔ ٹرانزیکشنز ACID خصوصیات (جوہری، مستقل مزاجی، الگ تھلگ، استحکام) پر عمل کرتے ہوئے ڈیٹا بیس کی سالمیت کو یقینی بناتے ہیں۔ ایک بنیادی لین دین میں شامل ہوسکتا ہے:
ڈیٹا بیس ٹیبل پر تلاشوں اور استفسارات کی کارکردگی کو بہتر بنانے کے لیے، SQL اشاریہ جات کا استعمال کرتا ہے۔ ایک انڈیکس ایک اندرونی تلاش کی میز بناتا ہے جسے ڈیٹا بیس مینجمنٹ سسٹم ڈیٹا کی بازیافت کو تیز کرنے کے لیے استعمال کر سکتا ہے۔ سیدھے الفاظ میں، ڈیٹا بیس ٹیبل پر ایک انڈیکس کتاب میں انڈیکس کی طرح کام کرتا ہے۔
انڈیکس بنانا CREATE INDEX بیان کا استعمال کرتے ہوئے کیا جا سکتا ہے، مثال کے طور پر:
ملازمین (نام) پر انڈیکس idx_employee_name بنائیں؛
یہ کمانڈ ملازمین کی میز کے نام کے کالم پر ایک انڈیکس بناتا ہے، جو ملازمین کے نام کے حساب سے سوالات کو فلٹر کرنے یا چھانٹنے کو زیادہ موثر بنا سکتا ہے۔
ایس کیو ایل میں رکاوٹیں ٹیبل میں موجود ڈیٹا پر لاگو اصول ہیں۔ ان کا استعمال ڈیٹا بیس کے اندر موجود ڈیٹا کی درستگی اور وشوسنییتا کو یقینی بنانے کے لیے کیا جاتا ہے۔ عام پابندیوں میں شامل ہیں:
ایس کیو ایل رشتہ دار ڈیٹا بیس کے انتظام کے لیے ایک طاقتور ٹول ہے۔ یہ ڈیٹا کو استفسار کرنے، داخل کرنے، اپ ڈیٹ کرنے اور حذف کرنے کا ایک منظم طریقہ فراہم کرتا ہے، اس بات کو یقینی بناتے ہوئے کہ صارف ڈیٹا بیس کے ساتھ مؤثر طریقے سے تعامل کر سکتے ہیں۔ بنیادی ایس کیو ایل کمانڈز کو سمجھنا، ڈیٹا اور ٹیبلز کو کیسے جوڑنا ہے، اور جدید خصوصیات جیسے لین دین اور اشاریہ جات کو کس طرح استعمال کرنا ہے ڈیٹا بیس کے انتظام اور کارکردگی کو بہت بہتر بنا سکتا ہے۔ ان تصورات پر عبور حاصل کر کے، ڈیٹا بیس کے صارفین اور ڈویلپرز اپنے ڈیٹا اور ایپلی کیشنز کی سالمیت، کارکردگی اور قابل اعتمادی کو یقینی بنا سکتے ہیں۔