پروگرامنگ

ایس کیو ایل - ابتدائیوں کے لیے فوری گائیڈ

30 اکتوبر 2021

ایس کیو ایل سٹرکچرڈ استفسار کی زبان کا مطلب ہے۔ یہ ایک ڈومین کے لیے مخصوص زبان ہے جو ڈیٹا بیس میں ذخیرہ شدہ ڈیٹا کو بازیافت کرنے کے لیے استعمال ہوتی ہے۔ SQL میں ذخیرہ شدہ ڈیٹا کو ہینڈل کرتا ہے۔ رشتہ دار ڈیٹا بیس مینجمنٹ سسٹم (RDBMS)، یعنی وہ ڈیٹا جس میں اداروں اور متغیرات کے درمیان تعلقات شامل ہیں۔ تشکیل شدہ استفسار کی زبان تمام بڑے کے ساتھ مطابقت رکھتی ہے۔ آپریٹنگ سسٹمز .

اس سے قبل ڈیٹا کی ہیرا پھیری کا استعمال کرتے ہوئے کیا جاتا تھا۔ ISAM (انڈیکسڈ ترتیب وار رسائی کا طریقہ) اور VSAM (ورچوئل اسٹوریج تک رسائی کا طریقہ) . ساختی استفسار کی زبان میں ISAM اور VSM سے زیادہ فوائد ہیں۔ ایس کیو ایل میں ایک واحد کمانڈ کا استعمال کرتے ہوئے، آپ متعدد ریکارڈز یا ڈیٹا بازیافت کرسکتے ہیں۔ ایک اور فائدہ یہ ہے کہ ڈیٹا تک پہنچنے کا طریقہ بتانے کی ضرورت نہیں ہے۔

فہرست کا خانہ

SQL کیا ہے؟

ایس کیو ایل ڈیٹا بیس کو بنانے، جوڑ توڑ اور برقرار رکھنے کے لیے ایک زبان ہے۔ یہ ڈیٹا داخل کرنے، اسے حذف کرنے یا اس میں ترمیم کرنے میں بھی مدد کرتا ہے۔ یہ زبان متعدد ذیلی زبانوں پر مشتمل ہے، جیسے ڈیٹا ڈیفینیشن لینگوئج (DDL) , ڈیٹا ہیرا پھیری کی زبان (DML) , ڈیٹا استفسار کی زبان (DQL) ، اور ڈیٹا کنٹرول لینگویج (DCL) .

ایس کیو ایل ڈیٹا کے استفسار، ڈیٹا کی تعریف، ڈیٹا میں ہیرا پھیری، اور ڈیٹا تک رسائی کے کنٹرول پر مشتمل ہوتا ہے۔ ڈیٹا استفسار ایک کمانڈ ہے جو ڈیٹا بیس سے کسی بھی ڈیٹا کو بازیافت کرنے کے لیے استعمال ہوتی ہے۔ ڈیٹا کی تعریف میں ڈیٹا بیس اسکیما کی وضاحت شامل ہے، اور ڈیٹا ہیرا پھیری میں ڈیٹا ڈالنا، اپ ڈیٹ کرنا اور حذف کرنا شامل ہے۔

1986 میں، ایس کیو ایل بن گیا۔ امریکن نیشنل اسٹینڈرڈز انسٹی ٹیوٹ (اے این ایس آئی) معیاری اگلے سال میں، یہ بن گیا بین الاقوامی تنظیم برائے معیاریت (ISO) معیاری 1970 میں ڈونلڈ ڈی چیمبرلن اور ریمنڈ ایف بوائس آئی بی ایم میں ایس کیو ایل تیار کیا۔

اس سے پہلے اسے SEQUEL (Structured English Query Language) کے نام سے جانا جاتا تھا۔ یہ خاص طور پر IBM کے ڈیٹا کو ذخیرہ کرنے اور بازیافت کرنے کے لیے ڈیزائن کیا گیا تھا۔ 1989، 1992، 1996، 1999، 2003، 2006، 2008، 2011، اور 2016 میں جاری کیے گئے مختلف SQL ورژن ہیں۔

ایس کیو ایل تمام متعلقہ ڈیٹا بیس مینجمنٹ سسٹمز، جیسے MySQL، Oracle، Sybase، SQL Server، MS Access، Postgres، اور Informix کے لیے بنیادی زبان ہے۔ اس استفسار کی بولی کو استعمال کرنے کے متعدد فوائد ہیں۔ ایس کیو ایل صارفین کو کسی بھی متعلقہ ڈیٹا بیس مینجمنٹ سسٹم سے معلومات تک رسائی کے قابل بناتا ہے۔

صارفین ڈیٹا کی وضاحت کر سکتے ہیں، اس میں ترمیم کر سکتے ہیں، یا SQL کا استعمال کرتے ہوئے ڈیٹا کو حذف کر سکتے ہیں۔ آپ اس بولی کو کسی دوسری پروگرامنگ زبان میں بھی ایمبیڈ کر سکتے ہیں، جہاں ڈیٹا کی بازیافت کی ضرورت ہے۔ یہ صارفین کو ذخیرہ شدہ طریقہ کار، فنکشنز اور ویوز پر اجازتیں تیار کرنے اور سیٹ کرنے کی اجازت دیتا ہے۔

اب ہم SQL اور اس کی تاریخ کے بارے میں جانتے ہیں۔ آئیے اب ہم رشتہ دار ڈیٹا بیس مینجمنٹ سسٹم (RDBMS) پر توجہ مرکوز کرتے ہیں۔ PL/SQL، ایس کیو ایل میں طریقہ کار کی زبان کی توسیع ، SQL کو بڑھانے میں مدد کرتا ہے اور اسے طریقہ کار کی صلاحیتیں فراہم کرتا ہے۔

RDBMS ڈیٹا بیس

ہم نے دیکھا ہے کہ ایس کیو ایل کو بہت سے آر ڈی بی ایم ایس ڈیٹا بیسز، جیسے مائی ایس کیو ایل، ایس کیو ایل سرور، اوریکل، ایم ایس ایکسس وغیرہ کے ذریعہ استعمال کیا جاتا ہے۔ لہذا، اس سیکشن میں، ہم چند آر ڈی بی ایم ایس ڈیٹا بیس سیکھیں گے۔ ہم ہر ڈیٹا بیس کی خصوصیات دیکھیں گے، اور پھر ہم ان کے درمیان فرق کو تسلیم کر سکتے ہیں۔

ایک MySQL:

ایک سویڈش کمپنی، MySQL AB نے تیار کیا۔ مائی ایس کیو ایل ڈیٹا بیس، جو استعمال کرنے کے لیے آزاد اور اوپن سورس ہے۔ MySQL تمام بڑے سسٹمز کے ساتھ مطابقت رکھتا ہے، جیسے مائیکروسافٹ ونڈوز، لینکس یونکس، اور میکوس آپریٹنگ سسٹمز۔ آپ اس کے کمرشل یا غیر تجارتی ورژن استعمال کر سکتے ہیں۔ ورژن کے مطابق، آپ کو خصوصیات فراہم کی جاتی ہیں۔ یہ ایک مضبوط، تیز، ملٹی تھریڈڈ، اور ملٹی یوزر ڈیٹا بیس سرور کو شامل کرتا ہے۔

1994 میں، Micheal Widenius اور David Axmark نے MySQL تیار کیا اور اسے 'my ess-que-ell' کے تناظر میں کہا جاتا ہے۔ 23 مئی 1995 کو، MySQL ڈیٹا بیس کی پہلی ریلیز کا آغاز ہوا۔ یہ ڈیٹا بیس 8 جنوری 1998 کو ونڈوز سسٹم کے ساتھ چلنے کے لیے مطابقت رکھتا تھا۔ اسے پہلی بار ونڈوز 95 اور این ٹی کے لیے جاری کیا گیا تھا۔

دی مائی ایس کیو ایل ورژن 3.23: بیٹا جون 2000 سے جنوری 2001 کے درمیان جاری کیا گیا۔ اگلا ورژن، 4.0: بیٹا، اگست 2002 سے مارچ 2003 کے درمیان لانچ کیا گیا۔ جون 2004 سے اکتوبر 2004 تک، ورژن 4.1: بیٹا جاری کیا گیا۔ مندرجہ ذیل ورژن، 5.1: beta، مارچ 2005 سے اکتوبر 2005 تک تیار کیا گیا تھا۔ بعد میں 2008 میں، MySQL کو Sun Microsystems نے حاصل کیا، اور پھر تازہ ترین ورژن 5.2: beta لانچ کیا گیا۔

خصوصیات:

MySQL اعلی کارکردگی، اعلی دستیابی، اور کسی بھی چیز کو چلانے کے لیے لچک پیش کرتا ہے۔ یہ طاقتور لین دین کی بھی حمایت کرتا ہے۔ MySQL ڈیٹا بیس میں تمام ڈیٹا محفوظ اور انتہائی محفوظ ہے۔ یہ آزادانہ طور پر دستیاب اور اوپن سورس ہے۔

دو اوریکل:

اوریکل ایک وسیع پیمانے پر استعمال ہونے والے متعلقہ ڈیٹا بیس میں سے ایک ہے جس میں کثیر صارف اور بڑے انتظامی نظام ہیں۔ اوریکل کارپوریشن نے اوریکل ریلیشنل ڈیٹا بیس کا آغاز کیا۔ یہ DBMS کلائنٹ/سرور آپریشنز کے لیے بہترین موزوں ہے۔ کئی کلائنٹس نیٹ ورک پر ڈیٹا تک رسائی اور بھیج سکتے ہیں۔ اوریکل کلائنٹ اور سرور سسٹمز، جیسے UNIX، UnixWare، OS/2، NetWare، اور MSDOS کے ساتھ مطابقت رکھتا ہے۔

لیری ایلیسن، ایڈ اوٹس، اور باب مائنر نے 1977 میں اوریکل ڈیٹا بیس تیار کیا اور سافٹ ویئر ڈویلپمنٹ لیبارٹریز قائم کیں۔ 1979 میں، 2.0 اوریکل ورژن اگلے دو سالوں میں جاری کیا گیا، پہلا تجارتی اوریکل ورژن۔ انہوں نے سافٹ ویئر ڈویلپمنٹ لیبارٹریز کا نام تبدیل کر کے Relational Software Inc. (RSI) کر دیا۔ اس تنظیم کو بعد میں 1982 میں اوریکل کارپوریشن کا نام دیا گیا۔ اگلا ورژن، 3.0، 1983 میں C زبان میں شروع کیا گیا۔ اوریکل ورژن 4.0، جو 1984 میں تیار کیا گیا تھا، اس میں مزید جدید خصوصیات شامل ہیں، جیسے ملٹی ورژن پڑھنے کی مستقل مزاجی، کنکرنسی کنٹرول وغیرہ۔ اوریکل 11 جی، تازہ ترین ورژن، 2007 میں شروع کیا گیا تھا۔

اوریکل رشتہ دار ڈیٹا بیس میں مزید جدید خصوصیات شامل ہیں، جیسے کنکرنسی، لاکنگ میکانزم، ایس کیو ایل پلس، ریسورس مینیجر، ڈیٹا مائننگ، پارٹیشننگ، ڈیٹا ویئر ہاؤسنگ، متوازی عمل درآمد وغیرہ۔

3. MS SQL سرور:

مائیکروسافٹ کا رشتہ دار ڈیٹا بیس ہے۔ ایم ایس ایس کیو ایل سرور . اس ڈیٹا بیس کا بنیادی مقصد ڈیٹا بیس میں ڈیٹا کو اسٹور اور بازیافت کرنا ہے۔ یہ مائیکروسافٹ ونڈوز، لینکس اور کے ساتھ مطابقت رکھتا ہے۔ ونڈوز سرور آپریٹنگ سسٹمز ایم ایس ایس کیو ایل سرور کسی بھی سافٹ ویئر ایپلیکیشن کو، جو ایک ہی کمپیوٹر یا مختلف ایک یا پورے نیٹ ورک پر موجود ہے، ڈیٹا کو بازیافت کرنے کی اجازت دیتا ہے۔ یہ ANSI SQL اور T-SQL ڈیٹا بیس زبانوں کا استعمال کرتا ہے۔

ابتدائی طور پر، 1987 میں، Sybase کے ذریعے UNIX سسٹمز کے لیے SQL Server تیار کیا گیا تھا۔ اگلے سال میں، Microsoft، Aston-Tate، اور Sybase نے OS/2 کے لیے SQL Server 1.0 جاری کیا۔ ونڈوز 3.0 کے صارفین کے لیے، ایس کیو ایل سرور کا ورژن 1.1 1990 میں شروع کیا گیا۔ بعد میں، Aston-Tate نے تنظیم کو چھوڑ دیا، اور Micorosft نے 2000 میں SQL Server 2000 جاری کیا۔ اگلے سال، اس ڈیٹا بیس کے لیے XML تیار کیا گیا۔ SQLXML 2.0 2002 میں تیار ہوا اور بعد میں SQLXML 3.0 کو جاری کیا۔ تازہ ترین ورژن، ایس کیو ایل سرور 2005، 7 نومبر 2005 کو تیار کیا گیا تھا۔

ایم ایس ایس کیو ایل سرور میں ڈیٹا بیس کی عکس بندی، ڈی ڈی ایل ٹرگرز، سیملیس ایکس ایم ایل انٹیگریشن، ڈیٹا بیس میل، اعلی کارکردگی اور اعلی دستیابی کی خصوصیات ہیں۔

چار۔ MS رسائی:

ایک اور مشہور رشتہ دار ڈیٹا بیس MS Access ہے۔ مندرجہ بالا ڈیٹا بیس کی طرح ایم ایس ایکسس بھی مائیکروسافٹ کی پیداوار ہے۔ یہ DBMS چھوٹے پیمانے کے کاروبار کے لیے استعمال ہوتا ہے اور غیر معمولی طور پر سستا ہے۔ اس میں جیٹ ڈیٹا بیس انجن شامل ہے۔ اس انجن کو جیٹ ایس کیو ایل بھی کہا جاتا ہے، کیونکہ یہ ایس کیو ایل زبان استعمال کرتا ہے۔

1992 میں، پہلا MS Access ورژن 1.0 تیار کیا گیا۔ اگلے سال میں، مطابقت کو بہتر بنانے کے لیے اسے Access Basic پروگرامنگ زبان کے ساتھ تیار کیا گیا۔ بعد میں، رسائی 2007 شروع کی گئی، جس میں ACCDB فارمیٹ استعمال کیا گیا۔ یہ MS رسائی ورژن جدید ہے اور اس میں پیچیدہ ڈیٹا کی اقسام اور کثیر قدر والے فیلڈز شامل ہیں۔

MS Access مربوط میزوں، فارموں، رپورٹوں اور سوالات کے لیے میکرو استعمال کرتی ہے۔ اس سسٹم کو استعمال کرتے ہوئے، آپ اپنے ڈیٹا کو کئی فارمیٹس میں ایکسپورٹ اور امپورٹ کر سکتے ہیں، جیسے ASCII، Oracle، ODBC، SQL Server، وغیرہ۔ Jet فارمیٹ ایپلی کیشن اور اس کے ڈیٹا کو ایک فائل میں رکھتا ہے۔ لہذا، کسی بھی درخواست کا اشتراک آسان ہے. یہ ڈیٹا بیس کے محرکات، ذخیرہ شدہ طریقہ کار، اور ٹرانزیکشن لاگنگ کی حمایت نہیں کرتا، کیونکہ یہ ایک فائل سرور پر مبنی نظام ہے۔

RDBMS کیا ہے؟

تقریباً تمام موجودہ ڈیٹا بیس سسٹمز، جیسے ایس کیو ایل، اوریکل، مائی ایس کیو ایل، مائیکروسافٹ ایکسیس، وغیرہ، متعلقہ ڈیٹا بیس مینجمنٹ سسٹم کا استعمال کرتے ہیں۔ یہ ڈیٹا بیس سسٹم رشتہ دار ماڈل پر مبنی ہے۔ E. F. Codd نے متعلقہ ڈیٹا بیس مینجمنٹ سسٹم کی تجویز پیش کی۔ RDBMS میں کچھ ایسے عناصر ہیں جو آپ کو ایس کیو ایل کی طرف جانے سے پہلے جاننے کی ضرورت ہے۔ آئیے ذیل میں ہر ایک پہلو پر بات کریں۔

ایک ٹیبل:

RDBMS میں ڈیٹا کو ٹیبل کی شکل میں محفوظ کیا جاتا ہے۔ اس جدول کو آبجیکٹ کہا جاتا ہے۔ اسے ایک بھی کہا جاتا ہے۔ رشتہ . RDBMS میں ایک ٹیبل میں قطاریں اور کالم ہوتے ہیں۔ RDBMS میں ہر ٹیبل کا ایک مخصوص ٹیبل نام ہوتا ہے۔ ایک ٹیبل کو ڈیٹا اسٹوریج کا آسان ترین فارم سمجھا جاتا ہے۔

آئیے ہم اس ٹیبل پر غور کریں جس کا ٹیبل کا نام ہے، 'طالب علم۔

نامعمرطالب علم کی شناختشہر
سٹیو231092نیویارک
اولیور241093فرشتے
رابرٹاکیس1094شکاگو
مریم251095کیلیفورنیا
جینیفر231096نیویارک
جیمز221097واشنگٹن ڈی سی
جاناکیس1098کیلیفورنیا
جانی241099شکاگو

مندرجہ بالا جدول طلباء کے بارے میں معلومات فراہم کرتا ہے۔

دو میدان:

اگلا RDBMS عنصر فیلڈ ہے۔ ایک فیلڈ میز کی چھوٹی ہستی ہے۔ مثال کے طور پر، مندرجہ بالا جدول میں، 'طالب علم،' نام، عمر، طالب علم_ID، اور شہر فیلڈز ہیں۔ لہذا، ٹیبل میں ہر کالم ایک فیلڈ ہے، جو مخصوص معلومات یا ریکارڈ کو محفوظ کرتا ہے۔

3. قطار:

ایک قطار کو ریکارڈ بھی کہا جاتا ہے۔ ریکارڈ یا قطار میں مخصوص ہستی کے بارے میں معلومات ہوتی ہیں۔ مندرجہ بالا جدول میں، 'طالب علم،' آٹھ مختلف قطاریں یا ریکارڈز ہیں۔ دوسری شرائط میں، مندرجہ بالا جدول میں آٹھ مختلف طلباء کا ڈیٹا موجود ہے۔ ایک واحد افقی ہستی ایک قطار یا ریکارڈ ہے۔ درج ذیل ٹیبل 'طالب علم' سے ایک قطار یا ریکارڈ ہے۔

|_+_|

چار۔ کالم:

ہم نے دیکھا ہے کہ قطار ایک افقی وجود ہے۔ قطار کے برعکس، کالم ایک عمودی ہستی ہے۔ ایک کالم فیلڈ سے متعلق تمام ڈیٹا رکھتا ہے۔ 'طالب علم' ٹیبل میں، نام، عمر، طالب علم_ID، اور شہر فیلڈز ہیں۔ لہذا، فیلڈ کے ساتھ ایک کالم 'نام' طلباء کے ناموں پر مشتمل ہے۔ اس کالم کو اس طرح دکھایا گیا ہے:

|_+_|

خالی:

جب کسی مخصوص فیلڈ میں کوئی ڈیٹا نہیں ہوتا ہے یا فیلڈ میں خالی جگہ ہوتی ہے تو ایسی قدر NULL قدر ہوتی ہے۔ NULL قدر صفر کے برابر نہیں ہے۔ ریکارڈ بناتے وقت اسے خالی رکھا جاتا ہے۔

ایس کیو ایل کی بنیادی باتیں

ہم اس سیگمنٹ میں SQL کی تمام بنیادی باتیں سیکھیں گے، جیسے نحو، استفسار کی کارروائی، رکاوٹیں، کمانڈز، اور ڈیٹا بیس نارملائزیشن۔

ایس کیو ایل نحو

ایس کیو ایل استفسار میں ڈیٹا بیس سے ڈیٹا حاصل کرنے کے لیے کئی عناصر ہوتے ہیں۔ ذیل میں استفسار میں شامل اجزاء ہیں۔

    شقیں:

شقیں استفسار کا اختیاری حصہ ہیں۔ وہ استفسار کے عناصر ہیں۔ مثال کے طور پر، UPDATE، SET، WHERE، وغیرہ، شقیں ہیں۔

    تاثرات:

استفسار کے اظہار کے نتیجے میں قطار اور کالم والے ٹیبل کی شکل میں ڈیٹا ہوتا ہے۔ ایک قطار کو 'ٹپل' کہا جاتا ہے، اور ایک کالم کو 'انتساب' کہا جاتا ہے۔

    پیش گوئیاں:

پیشین گوئیاں ایسی شرائط ہیں، جو تین قدر والی منطق (سچ/غلط/نامعلوم) پیدا کرتی ہیں۔

    سوالات:

سوالات شرائط کا استعمال کرتے ہوئے ڈیٹا بیس سے مطلوبہ ڈیٹا حاصل کرتے ہیں۔

    بیانات:

بیانات پروگرام کے بہاؤ، لین دین، کنکشنز وغیرہ کو کنٹرول کرتے ہیں۔ اس میں سیمی کالون بھی شامل ہو سکتا ہے '؛.'

    غیر اہم خالی جگہیں:

ایس کیو ایل استفسار میں ناپسندیدہ خالی جگہوں پر غور نہیں کیا جاتا ہے، جو اسے زیادہ قابل فہم اور پڑھنے کے قابل بناتا ہے۔

یہاں ہم تین شقوں، اپ ڈیٹ، سیٹ، اور کہاں کا استعمال کرتے ہوئے چھوٹی مثالیں دیکھیں گے۔

  1. اپ ڈیٹ کی عمر؛

مندرجہ بالا استفسار عمر کے وصف کو اپ ڈیٹ کرتا ہے۔

  1. عمر مقرر کریں = عمر +2؛

مندرجہ بالا میں 'عمر+2' کا اظہار شامل ہے، جس سے عمر میں دو کا اضافہ ہوتا ہے، اور نتیجہ عمر کو تفویض کیا جاتا ہے۔

  1. WHERE emp_name = 'جان'؛

یہاں، 'emp_name = 'John' ایک پیشوا ہے، اور 'John' ایک اظہار ہے۔

استفسار پر کارروائی

ایس کیو ایل میں استفسارات پر کارروائی کی جاتی ہے تاکہ انہیں نچلے درجے کے اظہار میں تبدیل کیا جا سکے، جو کمپیوٹر کے ذریعے سمجھ میں آتا ہے۔ کسی بھی استفسار کی پروسیسنگ میں کئی اجزاء شامل ہوتے ہیں، جیسے پارسر، مترجم، ارتقائی انجن، ڈیٹا بیس، وغیرہ۔ اعلیٰ درجے کے استفسار کو ایسے تاثرات میں تبدیل کیا جاتا ہے جو فائل سسٹم کی جسمانی سطح سے ہم آہنگ ہوتے ہیں۔ ذیل میں ایک خاکہ ہے جس میں بتایا گیا ہے کہ کس طرح استفسار پر کارروائی کی جاتی ہے اور اسے جسمانی سطح پر لاگو کرنے کے لیے بہتر بنایا جاتا ہے۔

img 617dd1be21877

سب سے پہلے، اعلیٰ سطح کے استفسار کو قابل فہم اظہار میں تبدیل کیا جاتا ہے، یعنی الجبری اظہار۔ اس تبدیلی کے دوران، استفسار کئی مراحل سے گزرتا ہے، جیسا کہ اوپر والے خاکے میں دکھایا گیا ہے۔ پہلے مرحلے پر، تجزیہ کار استفسار کے نحو کو چیک کرتا ہے اور دیکھتا ہے کہ آیا اس میں شامل تعلق اور صفات درست ہیں۔ مترجم استفسار کو اندرونی نمائندگی میں تبدیل کرتا ہے، جو اصلاح کار کو دیا جاتا ہے۔

استفسار کی اصلاح کرنے والا استفسار کی اندرونی نمائندگی کو اظہار میں تبدیل کرتا ہے، جس پر عمل کیا جا سکتا ہے۔ یہ اظہار پھر DBMS انجن یا استفسار کی تشخیص کے انجن کے ذریعے عمل میں لایا جاتا ہے۔ ڈی بی ایم ایس انجن کا نتیجہ ڈیٹا بیس کی جسمانی سطح پر دیا جاتا ہے۔

SQL شقیں

SQL میں شق استفسار کا ایک جزو ہے۔ ایس کیو ایل میں کئی شقیں ہیں۔ آئیے ذیل میں نحو کے ساتھ ہر ایک شق کو تفصیل سے دیکھیں۔

    شق منتخب کریں:

جب آپ مخصوص کالموں یا قطاروں سے ڈیٹا بازیافت کرنا چاہتے ہیں، تو آپ SELECT شق استعمال کر سکتے ہیں۔ یہ متعدد ٹیبلز یا ویوز کی قطاروں سے ڈیٹا کو بھی بازیافت کر سکتا ہے۔ سلیکٹ اسٹیٹمنٹ کا نتیجہ سیٹ بھی ایک ٹیبل ہے۔

نحو:

|_+_|
    الگ شق:

DISTINCT شق کو SELECT شق کے ساتھ استعمال کیا جاتا ہے۔ یہ منفرد اور مختلف اقدار واپس کرتا ہے۔ نتیجہ سیٹ میں کوئی ڈپلیکیٹ قدر موجود نہیں ہے۔

نحو:

|_+_|
    جہاں شق:

جہاں کی شق کو ڈیٹا کی بازیافت کی شرط بتانے کے لیے استعمال کیا جاتا ہے۔ یہ صرف وہی قطاریں دکھاتا ہے جو شرط کے ذریعہ بیان کی گئی ہیں۔

نحو:

|_+_|
    گروپ بذریعہ شق:

یہ شق ان قطاروں کو گروپ کرتی ہے جن کی قدریں ملتی جلتی ہیں ایک نتیجہ سیٹ میں۔ GROUP BY شق ہمیشہ SUM، MAX، MIN، COUNT، اور AVG جیسے فنکشنز کے ساتھ استفسار میں استعمال ہوتی ہے۔

نحو:

|_+_|
    آرڈر بذریعہ:

جب نتیجہ کو صعودی یا نزولی ترتیب میں ترتیب دینے کی ضرورت ہو تو آپ ORDER BY بیان استعمال کر سکتے ہیں۔ پہلے سے طے شدہ طور پر، یہ بیان نتیجہ کو صعودی ترتیب میں ترتیب دیتا ہے۔ اگر آپ نزولی ترتیب میں ترتیب دیے گئے نتائج کو ترتیب دینا چاہتے ہیں، تو آپ استفسار میں 'desc' کی وضاحت کر سکتے ہیں۔

نحو:

|_+_|
    ہونا:

HAVING کلیدی لفظ کا بنیادی مقصد یہ ہے کہ اسے صرف مجموعی افعال کے ساتھ استعمال کیا جاتا ہے، جیسے SUM، MIN، MAX، COUNT، اور AVG۔ WHERE کلیدی لفظ مجموعی افعال کے ساتھ مطابقت نہیں رکھتا ہے۔

نحو:

|_+_|

ایس کیو ایل میں کمانڈز

SQL کمانڈز کو پانچ مختلف اقسام، DDL، DML، DQL، TCL، اور DCL میں درجہ بندی کیا گیا ہے۔ ہم ذیل میں ان تینوں اقسام میں سے ہر ایک کو تفصیل سے جانیں گے۔

    ڈی ڈی ایل:

ڈیٹا ڈیفینیشن لینگوئج چار ایس کیو ایل کمانڈز پر مشتمل ہے، تخلیق، تبدیل، تراشنا، اور چھوڑنا۔ یہ کمانڈز ٹیبل کی ساخت کو تبدیل کرنے کے لیے استعمال ہوتے ہیں۔ یہ سب خود کار طریقے سے پابند ہیں، یعنی ٹیبل کے ڈھانچے میں کی گئی تبدیلیاں مستقل طور پر محفوظ ہوجاتی ہیں۔

تخلیق جدول کا بیان ڈیٹا بیس میں نیا ٹیبل، ٹیبل کا منظر، یا کوئی اور چیز بنانے کے لیے استعمال ہوتا ہے۔

نحو:

|_+_|

مثال:

|_+_|

ایک اور کمانڈ، alter، کا استعمال موجودہ منظر یا ٹیبل میں ترمیم یا تبدیلی کے لیے کیا جاتا ہے۔ alter کمانڈ کا استعمال کرتے ہوئے، آپ ٹیبل میں ایک نیا کالم شامل کر سکتے ہیں یا کسی خاص ٹیبل کے موجودہ کالم کو تبدیل کر سکتے ہیں۔

نحو:

|_+_|

مثال:

|_+_|

ٹرنکیٹ ڈی ڈی ایل کمانڈ ٹیبل سے تمام قطاروں کو حذف کر دیتی ہے۔ نوٹ کریں کہ یہ ٹیبل کو حذف نہیں کرتا ہے۔

نحو:

|_+_|

مثال:

|_+_|

آخر میں، ڈراپ کمانڈ ٹیبل یا ویو کو حذف کر دیتی ہے۔ یہ ٹیبل کی ساخت اور ٹیبل میں محفوظ ڈیٹا کو مکمل طور پر حذف کر دیتا ہے۔

نحو:

|_+_|

مثال:

|_+_|
    DML:

ڈیٹا ہیرا پھیری کی زبان میں تین کمانڈز شامل ہیں، داخل کریں، حذف کریں، اور اپ ڈیٹ کریں۔ یہ کمانڈز ٹیبل ڈیٹا کو تبدیل کرتی ہیں۔ ڈی ڈی ایل کمانڈز کے برعکس، ڈی ایم ایل کمانڈز خودکار نہیں ہیں۔ جب آپ تین میں سے کوئی بھی کمانڈ استعمال کرتے ہیں، تو آپ کو تبدیلیوں کو مستقل طور پر محفوظ کرنے کے لیے 'کمٹ' کلیدی لفظ استعمال کرنے کی ضرورت ہوتی ہے۔

INSERT کمانڈ ڈیٹا کو ٹیبل میں داخل کرتی ہے۔ جب بھی کوئی نیا ڈیٹا ٹیبل میں شامل ہوتا ہے، ٹیپلز کی تعداد بڑھ جاتی ہے۔

نحو:

|_+_|

یا

|_+_|

مثال:

|_+_|

اگلا اپ ڈیٹ کا بیان ہے۔ یہ بیان کسی ایک وصف کی موجودہ قدر کو اپ ڈیٹ یا اس میں ترمیم کرتا ہے۔

نحو:

|_+_|

مثال:

|_+_|

آخر میں، ڈیلیٹ کا بیان ٹیبل سے مخصوص قطاروں کو حذف کر دیتا ہے۔

نحو:

|_+_|

مثال:

|_+_|
    DCL:

ایس کیو ایل میں، ہم ڈیٹا بیس سے ڈیٹا میں ہیرا پھیری، رسائی، یا حذف کرنے کے لیے کچھ حکام یا حقوق لوگوں کو تفویض کرتے ہیں۔ ہم GRANT اور REVOKE کمانڈز کا استعمال کرتے ہوئے حکام کو گرانٹ اور واپس لے سکتے ہیں۔

GRANT کا بیان ڈیٹا بیس تک رسائی کا حق دینے کے لیے استعمال کیا جاتا ہے۔ صارف ڈیٹا بیس تک رسائی حاصل کر سکتے ہیں اگر انہیں اجازت دی جاتی ہے۔

نحو:

|_+_|

REVOKE کا بیان گرانٹ کے بیان کے مخالف ہے۔ یہ صارف سے تمام مراعات لے لیتا ہے۔ ڈیٹا بیس تک رسائی حاصل کریں۔ .

|_+_|
    DQL:

ڈیٹا استفسار کی زبان میں صرف ایک کمانڈ ہے، SELECT۔ یہ کمانڈ ٹیبل سے مخصوص صفات کو منتخب کرنے کے لیے استعمال ہوتی ہے۔ یہ جہاں مخصوص حالت کی بنیاد پر صفات کا انتخاب کرتا ہے۔

نحو:

|_+_|

مثال:

|_+_|
    TCL:

ٹرانزیکشن کنٹرول لینگویج میں تین کمانڈز، کمٹ، رول بیک، اور سیو پوائنٹ شامل ہیں۔ آپ TCL بیانات صرف DML کمانڈز کے ساتھ استعمال کر سکتے ہیں۔ انہیں DDL سٹیٹمنٹس کے ساتھ استعمال نہیں کیا جا سکتا، کیونکہ وہ خود بخود تبدیلیوں کو ڈیٹا بیس میں مستقل طور پر محفوظ کر لیتے ہیں۔

کمٹ اسٹیٹمنٹ ڈیٹا بیس میں ٹیبل میں مستقل طور پر کی گئی تمام تبدیلیوں کو محفوظ کرتا ہے۔

نحو:

|_+_|

مثال:

|_+_|

جب آپ کسی بھی سابقہ ​​لین دین کو کالعدم کرنا چاہتے ہیں جو ڈیٹا بیس میں ارتکاب نہیں کیا گیا ہے، تو رول بیک اسٹیٹمنٹ کو عمل میں لایا جا سکتا ہے۔

نحو:

|_+_|

مثال:

|_+_|

آخر میں، SAVEPOINT سٹیٹمنٹ لین دین کا ایک موثر رول بیک کرتا ہے۔ یہ مخصوص لین دین کو مطلوبہ مقام پر واپس لے جاتا ہے، اسے واپس کرنے کے لیے پورے لین دین کی ضرورت نہیں ہوتی۔

نحو:

|_+_|

ڈیٹا کی سالمیت

ڈیٹا بیس میں ڈیٹا کی سالمیت کا مطلب درستگی اور فالتو پن ہے۔ ڈیٹا بیس میں موجود ڈیٹا درست اور بار بار نہ ہونے والا ہونا چاہیے۔ ان مقاصد کے لیے، ہم پابندیاں استعمال کرتے ہیں۔ عام طور پر، رکاوٹ کا مطلب حدود یا پابندیاں ہیں۔ ایس کیو ایل میں، رکاوٹ کا مطلب ٹیبل کے کالموں پر قواعد و ضوابط ہیں۔ دوسرے لفظوں میں، رکاوٹیں بتاتی ہیں کہ ٹیبل میں کون سا ڈیٹا شامل کیا جانا چاہیے۔ ڈیٹا کالم میں رکاوٹوں کا اطلاق یقینی بناتا ہے۔ اعتبار اور ڈیٹا کی درستگی۔

ایس کیو ایل

مندرجہ بالا خاکہ مختلف رکاوٹوں کی وضاحت کرتا ہے جنہیں تین زمروں میں گروپ کیا گیا ہے، ہستی کی سالمیت، حوالہ جاتی سالمیت، اور ڈومین کی سالمیت۔

آپ ٹیبل کے کالموں پر یا براہ راست ٹیبل پر پابندیاں لگا سکتے ہیں۔ اگر آپ کالموں پر پابندیاں لگانے کو ترجیح دیتے ہیں، تو اسے کالم کی سطح کی رکاوٹیں کہا جاتا ہے۔ آپ ایک یا دو کالموں پر کالم کی سطح کی پابندیاں لگا سکتے ہیں۔ اور پورے ٹیبل میں رکاوٹوں کا استعمال ٹیبل لیول کی رکاوٹیں کہلاتا ہے۔ جب آپ ٹیبل کی سطح کی رکاوٹوں کو لاگو کرتے ہیں، تو یہ ٹیبل کے تمام کالموں پر لاگو ہو جاتا ہے۔

آئیے اب مندرجہ بالا تینوں ڈیٹا انٹیگریٹی کیٹیگریز کو جانتے ہیں۔

    ہستی کی سالمیت:

ہستی کی سالمیت میں، مندرجہ ذیل تین رکاوٹوں کا استعمال کرتے ہوئے ٹیبل کے ہر ٹوپل کی منفرد شناخت کی جاتی ہے۔

  • NULL Constraint: یہ یقینی بناتا ہے کہ ٹیبل یا کالم میں کوئی NULL قدر نہیں ہے۔
  • انوکھی پابندی: یہ قاعدہ بتاتا ہے کہ ٹیبل میں موجود کالم کی منفرد قدریں ہوں گی۔ کالم میں کوئی قدر دہرائی نہیں جائے گی۔
  • بنیادی کلید: جب آپ اس پابندی کو ٹیبل کے کسی بھی کالم پر لاگو کرتے ہیں، تو وہ کالم ٹیبل میں ہر قطار یا ٹوپل کو منفرد طور پر شناخت کرے گا۔
    حوالہ سالمیت:

جب آپ ڈیٹا بیس میں دو مختلف جدولوں کو جوڑنا چاہتے ہیں، تو آپ حوالہ جاتی سالمیت استعمال کر سکتے ہیں۔

  • فارن کلید: یہ کسی دوسرے ٹیبل کی قطار یا ٹیپل کی منفرد شناخت کرے گی۔ ایک ٹیبل کی بنیادی کلید دوسرے ٹیبل میں بطور وصف موجود ہونی چاہیے۔ ایسی صفت کو FOREIGN Key کہا جاتا ہے۔
    ڈومین کی سالمیت:

ڈومین کی سالمیت کا استعمال اس بات کو یقینی بنانے کے لیے کیا جاتا ہے کہ ٹیبل میں موجود تمام اقدار طے شدہ اصولوں پر عمل کریں۔

  • ڈیفالٹ پابندی: یہ کالم کو ڈیفالٹ ویلیو تفویض کرتا ہے جب مخصوص قدر بیان نہیں کی جاتی ہے۔
  • چیک کی پابندیاں: جب آپ اس بات کی تصدیق کرنا چاہتے ہیں کہ کالم کی تمام قدریں مخصوص شرط کو پورا کرتی ہیں، تو آپ چیک کی پابندی کا اطلاق کر سکتے ہیں۔

INDEX: جب آپ ڈیٹا بیس کا ڈیٹا حاصل کرنا یا بنانا چاہتے ہیں، تو آپ INDEX استعمال کر سکتے ہیں۔

ڈیٹا بیس نارملائزیشن

ڈیٹا بیس نارملائزیشن ڈیٹا بیس میں ڈیٹا کو اچھی طرح سے ترتیب شدہ شکل میں ترتیب دینے کا عمل ہے۔ میں مختلف عام شکلیں ہیں۔ ڈیٹا بیس کو معمول بنانا ، جو فالتو پن کو ختم کرنے اور ڈیٹا کی سالمیت کو بڑھانے میں مدد کرتا ہے۔ E. F. Codd نے ڈیٹا بیس نارملائزیشن کا تصور پیش کیا۔ ڈیٹا بیس کو معمول پر لانے کی دو بنیادی وجوہات ہیں۔

  • ڈیٹا بیس سے بار بار ڈیٹا کو ہٹانا۔
  • اس بات کو یقینی بنانا کہ تمام ڈیٹا انحصار درست ہیں اور معنی خیز ہیں۔

بے کار ڈیٹا کو ہٹانے سے ڈسک کی جگہ خالی کرنے میں مدد ملے گی۔ ڈیٹا بیس نارملائزیشن کا استعمال کرتے ہوئے، آپ ایک اچھا ڈیٹا بیس بنا سکتے ہیں اور اس میں ڈیٹا کو منطقی طور پر محفوظ کر سکتے ہیں۔ ڈیٹا بیس نارملائزیشن میں مختلف نارمل شکلیں ہیں، جو آپ کو ایک اچھی طرح سے سٹرکچرڈ ڈیٹا بیس بنانے میں مدد کرتی ہیں۔ یہ عام شکلیں ذیل میں دی گئی ہیں:

  • پہلا نارمل فارم
  • دوسرا نارمل فارم
  • تیسرا نارمل فارم
  • بوائس کوڈ نارمل فارم
  • چوتھا نارمل فارم
  • پانچواں نارمل فارم

SQL ڈیٹا کی اقسام

SQL ڈیٹا کی قسم استعمال کیے جانے والے ڈیٹا کی قسم کی وضاحت کرتی ہے۔ ایس کیو ایل میں ڈیٹا کی چھ مختلف اقسام ہیں: عددی، تاریخ اور وقت، کریکٹر اور سٹرنگ، یونیکوڈ کریکٹر، بائنری، اور متفرق۔ ڈیٹا بیس میں ٹیبل بناتے وقت یہ ڈیٹا ٹائپ استعمال کیے جاتے ہیں۔ ہر کالم کو ڈیٹا کی قسم کے لیے تفویض کیا جاتا ہے اور اس میں صرف مخصوص قسم کا ڈیٹا ہونا چاہیے۔

ہر متعلقہ ڈیٹا بیس SQL ڈیٹا کی تمام اقسام کو سپورٹ نہیں کرتا ہے۔ اوریکل رشتہ دار ڈیٹا بیس DATETIME ڈیٹا کی قسم کو سپورٹ نہیں کرتا ہے، اور MySQL ڈیٹا بیس CLOB ڈیٹا کی قسم کو سپورٹ نہیں کرتا ہے۔ کچھ مخصوص ڈیٹا بیس ہیں، جن میں اضافی علیحدہ ڈیٹا کی اقسام ہیں۔ مائیکروسافٹ ایس کیو ایل سرور میں، ڈیٹا کی دوسری اقسام 'پیسے' اور 'smallmoney' ہیں۔ آئیے اب ذیل میں ہر ڈیٹا کی قسم پر بات کریں۔

ایک عددی ڈیٹا کی قسم

ایس کیو ایل میں گیارہ مختلف عددی ڈیٹا کی اقسام ہیں، جنہیں دو گروپوں میں درجہ بندی کیا گیا ہے۔ پہلے گروپ میں صحیح عددی ڈیٹا کی اقسام ہیں، اور دوسرے میں تخمینی عددی ڈیٹا کی قسمیں ہیں۔ درست عددی ڈیٹا کی اقسام میں bigint، int، smallint، tinyint، decimal، money، عددی، smallmoney، اور bit شامل ہیں۔ اور تخمینی عددی ڈیٹا کی اقسام میں فلوٹ اور حقیقی شامل ہیں۔ نیچے دی گئی جدولیں درست اور تخمینی ڈیٹا کی اقسام کی رینج کی قدروں کی وضاحت کریں گی۔

درست ڈیٹا کی اقسام

ڈیٹا کی قسم سے کو ذخیرہ
تھوڑا سا0ایک
بڑا-9,223,372,036,854,775,8089,223,372,036,854,775,8078 بائٹ
چھوٹا سا02551 بائٹ
چھوٹی رقم-214,748.3648+214.748.36474 بائٹس
پیسہ-922,337,203,685,477.5808+922,337,203,685,477.58078 بائٹ
چھوٹا سا-32,76832,7672 بائٹس
int-2,147,483,6482,147,483,6474 بائٹس
عددی-10^38 +110^38-15 - 17 بائٹس
اعشاریہ-10^38 +110^38-15 - 17 بائٹس

تخمینی ڈیٹا کی اقسام

ڈیٹا کی قسم سے کو ذخیرہ
حقیقی-3.40E + 383.40E + 384 یا 8 بائٹس
تیرنا-1.79E + 3081.79E + 3084 بائٹس

دو تاریخ اور وقت

تاریخ اور وقت کے ڈیٹا کی قسم میں چار مختلف ڈیٹا کی قسمیں ہیں، ڈیٹ ٹائم، تاریخ، وقت، اور سمال ڈیٹ ٹائم۔ آئیے اب ہمیں ہر تاریخ اور وقت کے ڈیٹا کی قسم کی رینج کی قدروں کو جانتے ہیں۔

ڈیٹا کی قسم سے کو ذخیرہ
چھوٹی تاریخ کا وقتیکم جنوری 19006 جون 20794 بائٹس
تاریخ وقتیکم جنوری 175331 دسمبر 99998 بائٹ
تاریخ کا وقت 2یکم جنوری 000131 دسمبر 99996 - 8 بائٹس
تاریخیہ ڈیٹا ٹائپ تاریخ کو 30 جون 1991 کی شکل میں محفوظ کرتا ہے۔3 بائٹ
وقتیہ ڈیٹا ٹائپ وقت کو 12:30 P.M میں محفوظ کرتا ہے۔3 - 5 بائٹس

3. کریکٹر اور سٹرنگ

حروف اور الفاظ داخل کرنے کے لیے کریکٹر اور سٹرنگ ڈیٹا ٹائپ کا استعمال کیا جاتا ہے۔ چار الگ الگ کریکٹر اور سٹرنگ ڈیٹا کی اقسام درج ذیل ہیں:

    چار

چار ڈیٹا کی قسم مقررہ لمبائی کی ہے اور اس کی زیادہ سے زیادہ سائز کی حد 8,000 حروف ہے۔

    varchar

ڈیٹا کی یہ قسم ایک متغیر لمبائی ہے، جس کی زیادہ سے زیادہ سائز کی حد 8,000 حروف ہے۔

    متن

ٹیکسٹ ڈیٹا کی قسم میں متغیر لمبائی ہوتی ہے، اور سائز کی زیادہ سے زیادہ حد 2,147,483,647 حروف تک ہوتی ہے۔

    ورچار (زیادہ سے زیادہ)

ڈیٹا کی یہ قسم متغیر لمبائی کی بھی ہے، جس کی زیادہ سے زیادہ سائز کی حد 2E + 31 ہے۔

مندرجہ بالا تمام ڈیٹا کی قسمیں غیر یونیکوڈ ہیں۔

چار۔ بائنری:

ایس کیو ایل میں چار بائنری ڈیٹا کی قسمیں ہیں: بائنری، وربینری، وربینری (زیادہ سے زیادہ) اور امیج۔ ذیل میں ان ڈیٹا کی اقسام میں سے ہر ایک کی مختصر تفصیل ہے۔

    بائنری

ڈیٹا کی یہ قسم مقررہ لمبائی کی ہے، جس کی لمبائی کی زیادہ سے زیادہ حد 8,000 بائٹس ہے۔

    وربینری

varbinary ایک اور بائنری ڈیٹا کی قسم ہے، جس کی لمبائی متغیر ہوتی ہے۔ اس کی زیادہ سے زیادہ سائز کی حد 8,000 بائٹس ہے۔

    وربائنری (زیادہ سے زیادہ)

varbinary کی طرح، varbinary(max) بھی ایک متغیر لمبائی والی ڈیٹا کی قسم ہے، جس کی زیادہ سے زیادہ سائز کی حد 2E + 31 بائٹس ہے۔ یہ صرف SQL سرور 2005 میں استعمال ہوتا ہے۔

    تصویر

تصویر بھی ایک متغیر لمبائی والا بائنری ڈیٹا ہے جس کی زیادہ سے زیادہ حد 2,147,483,647 بائٹس ہے۔

یونیکوڈ ڈیٹا کی قسم

اس گروپ میں ڈیٹا کی چار الگ الگ اقسام بھی ہیں: nchar، nvarchar، nvarchar(max)، اور ntext۔

    nchar

nchar ایک فکسڈ لینتھ یونیکوڈ ڈیٹا کی قسم ہے، جس کی زیادہ سے زیادہ لمبائی 4,000 بائٹس ہے۔

    nvarchar

nchar کے برعکس، nvarchar ایک متغیر لمبائی والا یونیکوڈ ہے جس کی زیادہ سے زیادہ سائز کی حد 4,000 بائٹس ہے۔

    nvarchar(زیادہ سے زیادہ)

nvarchar(max) صرف SQL Server 2005 ڈیٹا بیس کے ساتھ مطابقت رکھتا ہے۔ اس کی زیادہ سے زیادہ سائز کی حد 2E + 31 ہے اور اس کی لمبائی متغیر ہے۔

    متن

ntext ایک متغیر لمبائی والا یونیکوڈ ہے جس کی زیادہ سے زیادہ لمبائی 1,073,741,823 بائٹس ہے۔

متفرق

درج ذیل ڈیٹا کی اقسام ہیں جو متفرق گروپ کے تحت آتی ہیں۔

    sql_variant: اس میں ٹائم اسٹیمپ، ٹیکسٹ اور این ٹیکسٹ کے علاوہ، SQL سرور ڈیٹا بیس کے ذریعے تعاون یافتہ ڈیٹا کی تمام اقسام کی قدریں ہوتی ہیں۔منفرد شناخت کرنے والا: اس ڈیٹا کی قسم میں ایک GUID ہے، جو عالمی سطح پر ایک منفرد شناخت کنندہ ہے۔کرسر: اس سے مراد ایک کرسر آبجیکٹ ہے۔ٹائم سٹیمپ: یہ ایک منفرد نمبر ہے جو ڈیٹا بیس میں کسی بھی قطار میں ترمیم کرنے پر تبدیل ہو جاتا ہے۔xml: یہ ایس کیو ایل سرور 2005 سے تعاون یافتہ ہے اور اس میں xml ڈیٹا ہے۔ٹیبل: اس میں نتیجہ سیٹ ہوتا ہے، جو مستقبل کے مقاصد کے لیے استعمال ہوتا ہے۔

ایس کیو ایل آپریٹرز

آپریٹرز محفوظ الفاظ یا حروف ہیں۔ وہ مخصوص آپریشنز کو انجام دینے کے لیے ہیں۔ عام طور پر، حالت کی وضاحت کے لیے WHERE شق میں ایک آپریٹر استعمال کیا جاتا ہے۔ آپریٹر ریاضی، منطقی یا تقابلی ہو سکتا ہے۔ آپ ایک ہی بیان میں دو شرائط کو یکجا کرنے کے لیے آپریٹر کا استعمال بھی کر سکتے ہیں۔ ایس کیو ایل میں، آپریٹر کی تین مختلف اقسام ہیں، ریاضی، موازنہ، اور منطقی آپریٹرز۔

ایک ریاضی کے آپریٹرز

ایک ریاضی کا آپریٹر ریاضی کی کارروائیاں انجام دے سکتا ہے، جیسے اضافہ، گھٹاؤ، ضرب، ماڈیولس اور تقسیم۔ آئیے ہم ایک متغیر کے طور پر 'a، قدر 15' اور 'b، قدر 30' کو دوسرے متغیر کے طور پر لیتے ہیں۔ ہم ذیل میں ہر ریاضی کے آپریٹر کی ایک مثال دیکھیں گے۔

آپریٹر تفصیل مثال
+'+' آپریٹر دو متغیرات کا اضافہ کرتا ہے۔a+b=15+30=45
-'-' آپریٹر بائیں متغیر سے دائیں متغیر کو گھٹاتا ہے۔a-b =15-30=-15
%جب بائیں متغیر کو دائیں متغیر سے تقسیم کیا جاتا ہے تو '%' اپنے نتیجہ کے مطابق بقیہ پیدا کرتا ہے۔b/a=30%15=0
/'/' تقسیم کرتا ہے۔ بائیں متغیر کی قدر کو دائیں متغیر قدر سے تقسیم کیا جاتا ہے۔b/a =30/15=2
*'*' دو متغیرات کو ضرب دیتا ہے۔a*b=15*30=450

دو منطقی آپریٹرز

یہاں، ہم SQL میں استعمال ہونے والے تمام منطقی آپریٹرز کو ان کی مختصر تفصیل کے ساتھ دیکھیں گے۔

  • AND: AND ایک SQL بیان میں کئی شرائط کو یکجا کرنے کے لیے استعمال ہوتا ہے۔
  • BETWEEN: یہ آپریٹر قدر کی حد کی وضاحت کے لیے استعمال ہوتا ہے۔ آپ BETWEEN کلیدی لفظ کا استعمال کرتے ہوئے کم سے کم اور زیادہ سے زیادہ قیمت مقرر کر سکتے ہیں۔
  • IN: جب آپ IN کلیدی لفظ کا اطلاق کرتے ہیں، تو یہ ایک مخصوص فہرست میں موجود دیگر تمام لغوی قدروں کے ساتھ ایک واحد قدر کا موازنہ کرتا ہے۔
  • نہیں: یہ آپریٹر دوسرے منطقی آپریٹرز کے ساتھ استعمال ہوتا ہے، جیسے EXISTS، BETWEEN۔ مثال کے طور پر، آپ NOT EXISTS، NOT BETWEEN، NOT IN وغیرہ درخواست دے سکتے ہیں۔
  • IS NULL: جب آپ NULL قدر کے ساتھ کسی بھی قدر کا موازنہ کرنا چاہتے ہیں، تو آپ IS NULL استعمال کر سکتے ہیں۔
  • ALL: یہ آپریٹر ایک سیٹ میں کسی قدر کا دوسرے سیٹ میں دیگر تمام اقدار کے ساتھ موازنہ کرنے کے لیے استعمال ہوتا ہے۔
  • کوئی بھی: یہ فہرست میں موجود کسی بھی عملی قدر کے ساتھ قدر کا موازنہ کرتا ہے۔
  • موجود ہے: یہ چیک کرتا ہے کہ آیا ٹیبل میں کوئی خاص قطار موجود ہے۔
  • LIKE: جب آپ کسی قدر کا اسی قدر سے موازنہ کرنا چاہتے ہیں تو LIKE کلیدی لفظ استعمال کریں۔
  • OR: AND کی طرح، OR بھی WHERE شق میں کئی شرائط کو یکجا کرتا ہے۔
  • منفرد: یہ کلیدی لفظ ٹیبل میں ہر قطار کی انفرادیت کی تصدیق کرتا ہے۔

3. موازنہ آپریٹرز

موازنہ آپریٹرز کو تسلیم کرنے کے لیے، ہم دو متغیرات لیں گے، a اور b۔ 'a' کو 15 'b' کو 20 ہونے دیں۔

آپریٹر تفصیل مثال
یہ چیک کرتا ہے کہ آیا دونوں متغیرات کی قدریں برابر ہیں یا نہیں۔ اگر وہ برابر نہیں ہیں، تو یہ سچ ہے، ورنہ درست نہیں ہے۔(ab) =(1530) = سچ
==جیسے، == برابر اقدار کے لیے دو متغیرات کو بھی چیک کرتا ہے۔ اگر قدریں برابر ہیں، تو یہ درست ہو جاتی ہے۔(a==b)=(15==30)= درست نہیں۔
!='!=' '.' سے ملتا جلتا ہے اگر دونوں متغیرات کی قدریں برابر نہ ہوں تو یہ سچ بھی پیدا کرتا ہے۔(ab) =(1530) = سچ
>اگر بائیں متغیر کی قدر دائیں متغیر سے زیادہ ہے تو، '>' درست ہو جاتا ہے۔(a>b)=(15>30)= درست نہیں۔
!>'!>' '>' آپریٹر کے مخالف ہے۔ اگر بائیں متغیر کی قدر دائیں متغیر کی قدر سے زیادہ نہ ہو تو یہ درست ہو جاتا ہے۔(a!>b)=(15!>30)= سچ
>=اگر بایاں آپرینڈ دائیں آپرینڈ سے بڑا یا اس کے برابر ہے تو شرط درست ہو جاتی ہے۔(a=30)= درست نہیں۔
<اگر بائیں متغیر کی قدر دائیں متغیر کی قدر سے کم ہے، '<’ returns true. (کرنا
!<'!<’ is opposite to the ‘<’ operator. It returns true if the left variable value is not less than the right variable value. (کرنا
<=اگر بایاں آپرینڈ دائیں آپرینڈ سے کم یا اس کے برابر ہے تو شرط درست ہو جاتی ہے۔(کرنا<=b)=(15<=30)= true

ایس کیو ایل اظہار

ایس کیو ایل میں، ایک ایکسپریشن آپریٹرز، ایک یا زیادہ ویلیوز، اور ایس کیو ایل فنکشنز پر مشتمل ہوتا ہے۔ وہ ہمیشہ WHERE شق میں متعین ہوتے ہیں۔ ذیل میں ڈیٹا بیس کے استفسار میں اظہار کے استعمال کی وضاحت کرنے والا نحو ہے۔

نحو:

|_+_|

ایس کیو ایل، بولین، عددی اور تاریخ میں تین قسم کے اظہارات استعمال ہوتے ہیں۔

ایک بولین ایکسپریشنز

بولین ایکسپریشن اس ڈیٹا کو بازیافت کرتا ہے جو ایک ہی قدر سے ملتا ہے۔ یہ ان قطاروں کو بازیافت کرتا ہے جو EXPRESSION میں بیان کردہ قدر سے ملتی ہیں۔

نحو:

|_+_|

اس سے پہلے، ہم نے ٹیبل بنایا ہے، جس میں ٹیبل کا نام ہے، 'طالب علم۔' ہم SELECT اسٹیٹمنٹ کا استعمال کرتے ہوئے اس کا ڈیٹا بازیافت کریں گے۔

|_+_|

آؤٹ پٹ:

|_+_|

اب، ہم وہ ڈیٹا لائیں گے جو طالب علم_ID = 1098 کی قدر سے مماثل ہے۔ صرف ایک قطار مندرجہ ذیل ظاہر ہوگی۔

|_+_|

نتیجہ:

|_+_|

دو عددی اظہار

عددی اظہار ریاضی کے عمل ہیں۔ اس کا اظہار اس طرح کیا جاتا ہے:

نحو:

|_+_|

آپ عددی اظہار کا استعمال کرتے ہوئے کوئی بھی ریاضیاتی عمل انجام دے سکتے ہیں۔ یہاں ایک مثال ہے جو عددی اظہار کا استعمال کرتے ہوئے ریاضیاتی عمل کو واضح کرتی ہے۔

|_+_|

آؤٹ پٹ:

|_+_|

آپ عددی اظہار میں مجموعی افعال کو بھی شامل کر سکتے ہیں: اوسط()، زیادہ سے زیادہ()، شمار ()، منٹ ()، اور رقم ()۔ اب، ہم 'طالب علم' ٹیبل میں ریکارڈز یا قطاروں کی تعداد شمار کریں گے۔

|_+_|

آؤٹ پٹ:

|_+_|

3. تاریخ کے تاثرات

تاریخ کے اظہار SQL میں سب سے زیادہ مطلوبہ اظہار ہیں، جو سسٹم کی موجودہ تاریخ اور وقت فراہم کرتا ہے۔ آئیے سسٹم کی موجودہ تاریخ اور وقت کو ظاہر کرنے کے لیے سوال دیکھتے ہیں۔

|_+_|

آؤٹ پٹ:

|_+_|

ایس کیو ایل میں ڈیٹا بیس کے بیانات بنائیں، چھوڑیں اور استعمال کریں۔

ایک ڈیٹا بیس بنائیں

اس سے پہلے کہ ہم ٹیبل بنائیں، ہمیں پہلے ڈیٹا بیس بنانے کی ضرورت ہے۔ سب سے پہلے، وہ ڈیٹا بیس بنائیں جس میں آپ کام کرنا چاہتے ہیں۔ اب ہم دیکھیں گے کہ ڈیٹا بیس کیسے بنایا جائے۔

نحو:

|_+_|

آپ کو یقینی بنانا چاہیے کہ ڈیٹا بیس کا نام منفرد اور مختلف ہونا چاہیے۔ اسے پہلے استعمال نہیں کرنا چاہیے۔

آئیے اب ڈیٹا بیس بناتے ہیں جس کا نام ہے۔

|_+_|

کوئی بھی ڈیٹا بیس بنانے کے لیے، آپ کے پاس ایڈمن کا استحقاق ہونا ضروری ہے۔ آپ 'شو ڈیٹا بیس' کمانڈ کا استعمال کرکے بنائے گئے تمام ڈیٹا بیس کو دیکھ سکتے ہیں۔ ہم نے پہلے متعدد ڈیٹا بیس بنائے ہیں: school_info، سافٹ ویئر ٹیسٹ ٹپس، ٹیسٹ، کمپنی، اور اصل۔

|_+_|

نتیجہ:

|_+_|

مندرجہ بالا آؤٹ پٹ نے تخلیق کردہ ڈیٹا بیس کی فہرست ظاہر کی۔

دو ڈیٹا بیس چھوڑیں۔

فرض کریں کہ ہم مندرجہ بالا ڈیٹا بیس میں سے ایک کو حذف کرنا چاہتے ہیں۔ اس مقصد کے لیے 'ڈراپ ڈیٹا بیس' بیان استعمال کیا جاتا ہے۔

نحو:

|_+_|

غور کریں کہ ہم SQL اسکیما سے 'ٹیسٹ' ڈیٹا بیس کو حذف کرنا چاہتے ہیں۔ جب آپ کسی بھی ڈیٹابیس کو ڈیلیٹ کرتے ہیں تو اس میں موجود تمام ڈیٹا ڈیلیٹ ہوجاتا ہے۔ ڈیٹا بیس کو حذف کرنے کے لیے آپ کے پاس منتظم کا استحقاق بھی ہونا چاہیے۔

|_+_|

ہم نے 'ٹیسٹ' ڈیٹا بیس کو حذف کر دیا ہے۔ آئیے اب اسکیما میں موجود ڈیٹا بیس کی فہرست کو دیکھتے ہیں۔

|_+_|

آؤٹ پٹ:

|_+_|

3. ڈیٹا بیس کا استعمال کریں اور منتخب کریں۔

ہمارے اسکیما میں، کئی ڈیٹا بیس ہیں۔ فرض کریں کہ ہم صرف ایک مخصوص ڈیٹا بیس کے ساتھ کام کرنا چاہتے ہیں۔ آپ کو تمام ڈیٹا بیس میں سے ایک کا انتخاب کرنا ہوگا۔ ایک ڈیٹا بیس کو منتخب کرنے کے بعد، آپ اس میں تمام DDL آپریشنز انجام دے سکتے ہیں۔ ڈیٹا بیس کو منتخب کرنے کے لیے، ایک USE بیان ہے۔

نحو:

|_+_|

ہم اپنے ڈیٹا بیس کی فہرست میں سے ایک ڈیٹا بیس 'softwaretestips' کا انتخاب کریں گے جس میں ہم ڈیٹا بیس کے تمام کام انجام دیں گے۔

|_+_|

آپ جو کچھ بھی بناتے ہیں، میزیں یا دیکھتے ہیں، وہ 'softwaretestips' ڈیٹا بیس میں موجود ہوں گے۔

یہ SQL کے بارے میں تمام فوری ٹیوٹوریل تھا۔ اب ہم 'softwaretestips' ڈیٹابیس میں ایک ٹیبل بنائیں گے اور اس ٹیبل پر تمام SQL آپریشن کریں گے۔

ٹیبل بنائیں

ہم نے تخلیق ٹیبل نحو اور مثال دیکھی ہے۔ یہ بیان اس طرح لکھا گیا ہے،

|_+_|

تخلیق ٹیبل اسٹیٹمنٹ میں، ہم ٹیبل کا نام، صفات اور ڈیٹا کی قسمیں بتاتے ہیں۔ یہاں تک کہ ہم تخلیق ٹیبل بیان کا استعمال کرتے ہوئے صفات پر رکاوٹیں بھی لگا سکتے ہیں۔ یقینی بنائیں کہ ٹیبل کا نام منفرد ہے اور پہلے استعمال نہیں کیا گیا ہے۔

اب ہم 'ٹیبل بنائیں' بیان کا استعمال کرتے ہوئے ٹیبل بنائیں گے۔ آئیے ایک 'EMPLOYEE' ٹیبل بنائیں، جو ملازمین کا ڈیٹا محفوظ کرتا ہے۔ ہم اس جدول کے لیے پانچ صفات بنائیں گے: Emp_ID، نام، عمر، شہر اور تنخواہ۔

|_+_|

ہم نے EMP_ID، NAME، AGE، CITY، اور SALARY کو اس کی خصوصیات کے ساتھ 'EMPLOYEE،' جدول بنایا ہے۔ 'EMPLOYEE' جدول کی بنیادی کلید EMP_ID ہے، جسے NULL نہیں ہونا چاہیے۔ مزید برآں، NAME اور AGE خصوصیات کو بھی NULL نہیں ہونا چاہیے۔

مندرجہ بالا تخلیق ٹیبل اسٹیٹمنٹ لکھنے کے بعد، آپ کو اسکرین پر 'ٹیبل کامیابی سے تیار کیا گیا' پیغام نظر آئے گا۔ جب آپ ٹیبل یا ٹیبل اسکیما کے اوصاف دیکھنا چاہتے ہیں تو درج ذیل کمانڈ کو ٹائپ کریں:

|_+_|

آؤٹ پٹ:

|_+_|

ہم DROP سٹیٹمنٹ کا استعمال کرتے ہوئے ٹیبل 'EMPLOYEE' کو گرا سکتے ہیں۔

|_+_|


ٹیبل کو گرانے کے بعد، یہ ڈیٹا بیس سے حذف ہو جاتا ہے۔ اگر آپ 'DESC' کمانڈ کو چلانے کی کوشش کرتے ہیں، تو اس کے نتیجے میں ایک خرابی ہوگی:

|_+_|

ٹیبل میں اقدار داخل کریں۔

ہم نے سیکھا ہے کہ کس طرح ایک مخصوص ڈیٹا بیس میں ٹیبل بنانا ہے اور اسے ڈیٹا بیس سے ڈراپ کرنا ہے۔ اب، ہم ٹیبل میں ڈیٹا داخل کرنے پر توجہ مرکوز کریں گے۔ اس مضمون کے ابتدائی حصے میں، ہم نے دیکھا ہے کہ داخل کرنے کا بیان کیسے لکھا جائے۔ یہاں، ہم مثال کا استعمال کرتے ہوئے insert سٹیٹمنٹ لکھنا سیکھیں گے۔

ہم مندرجہ بالا جدول لیں گے، 'EMPLOYEE،' اور داخل کریں کی ورڈ استعمال کرتے ہوئے اس میں ملازمین کا ڈیٹا داخل کریں گے۔ ٹیبل میں ڈیٹا داخل کرنے کے دو طریقے ہیں۔

|_+_|

INSERT بیان لکھنے کی ایک اور آسان ترین شکل ہے:

|_+_|

پہلے فارمیٹ میں، ہم نے کالم اور قدریں بتائی ہیں۔ ہمارے پاس دوسرے فارمیٹ میں صرف مخصوص اقدار ہیں۔ دوسرا فارمیٹ استعمال کرتے وقت، اس بات کو یقینی بنائیں کہ آپ نے اقدار کو درست ترتیب میں داخل کیا ہے جیسا کہ آپ نے ٹیبل بنانے کے دوران صفات کی وضاحت کی ہے۔

آئیے اب ایمپلائی ٹیبل میں ملازمین کا ڈیٹا داخل کریں۔

|_+_|

ہم نے پہلے فارمیٹ کا استعمال کرتے ہوئے چھ ملازمین کا ڈیٹا داخل کیا ہے۔ آئیے دوسرے فارمیٹ کا استعمال کرتے ہوئے ملازم کا ڈیٹا داخل کریں۔

|_+_|

اب، ایمپلوائی ٹیبل میں سات ریکارڈ یا قطاریں ہیں۔ EMPLOYEE ٹیبل میں ڈیٹا کو ظاہر کرنے کے لیے، SELECT کا بیان استعمال کیا جاتا ہے۔ آئیے اب SELECT سٹیٹمنٹ پر توجہ مرکوز کرتے ہیں۔

بیان کا انتخاب کریں۔

SELECT اسٹیٹمنٹ کو کسی خاص ٹیبل سے ڈیٹا بازیافت کرنے کے لیے استعمال کیا جاتا ہے۔ جب ہم SELECT سٹیٹمنٹ کا استعمال کرتے ہوئے ڈیٹا حاصل کرتے ہیں، تو یہ ڈیٹا کو ٹیبل فارمیٹ میں واپس کرتا ہے۔ اس سے پہلے، ہمارے پاس SELECT بیان لکھنے کا طریقہ ہے۔

|_+_|

مندرجہ بالا بیان مخصوص جدول سے صرف کالم 1 اور کالم 2 دکھائے گا۔ اگر آپ کسی مخصوص ٹیبل کا تمام ڈیٹا دکھانا چاہتے ہیں تو تمام کالموں کی وضاحت کرنے کے بجائے '*' استعمال کیا جاتا ہے۔

|_+_|

ہم ایمپلائی ٹیبل سے تمام ڈیٹا ڈسپلے کریں گے۔

|_+_|

آؤٹ پٹ:

|_+_|

فرض کریں کہ آپ صرف ملازمین کے نام اور شناخت کو بازیافت کرنا چاہتے ہیں۔ آپ SELECT بیان میں EMP_ID اور NAME کی وضاحت کر سکتے ہیں۔

|_+_|

آؤٹ پٹ:

|_+_|

WHERE شق

WHERE شق کو ڈیٹا کی بازیافت کے لیے شرط کی وضاحت کے لیے استعمال کیا جاتا ہے۔ یہ دو مختلف میزوں کو یکجا کرنے کے لیے بھی استعمال ہوتا ہے۔ جب آپ WHERE شق میں مخصوص شرط کا اطلاق کرتے ہیں، تو ڈیٹا صرف اس صورت میں حاصل کیا جاتا ہے جب شرط درست ہو۔ WHERE کلیدی لفظ عام طور پر استعمال ہوتا ہے جب صارفین کو مخصوص معلومات کی ضرورت ہوتی ہے۔ یہ کلیدی لفظ DELETE اور UPDATE کے بیانات میں استعمال ہوتا ہے۔

|_+_|

اس حالت میں، ہم منطقی اور موازنہ آپریٹرز استعمال کر سکتے ہیں۔ ایمپلائی ٹیبل پر غور کریں۔ آئیے اب ہم تمام ملازمین کی شناخت، نام، اور تنخواہیں بازیافت کریں جن کی تنخواہ 40,000 سے زیادہ یا اس کے برابر ہے۔ لہذا، ہم شرط کو بطور تنخواہ >= 40,000 WHERE شق میں بیان کریں گے۔

|_+_|

آؤٹ پٹ:

|_+_|

رزلٹ سیٹ میں تمام ملازمین کی IDs، نام اور تنخواہیں شامل ہیں، جن کی تنخواہ 40,000 سے زیادہ یا اس کے برابر ہے۔

اگر WHERE سٹیٹمنٹ میں آپ کی حالت String پر مشتمل ہے تو اسے ایک اقتباس (‘) میں لکھیں۔ آئیے مریم نام رکھنے والے ملازم کا نام، شناخت اور عمر بازیافت کریں۔

|_+_|

آؤٹ پٹ:

|_+_|

اور اور یا آپریٹرز

AND اور OR آپریٹرز دو یا زیادہ مختلف حالتوں کو ملاتے ہیں۔ جب آپ کو ٹیبل سے درست اور جامع ڈیٹا کی ضرورت ہوتی ہے، تو آپ AND یا OR آپریٹرز کا استعمال کرتے ہوئے کئی شرائط میں شامل ہو سکتے ہیں۔

جب آپ AND آپریٹر کا استعمال کرتے ہوئے شرائط کو یکجا کرتے ہیں، تو یہ نتیجہ صرف اسی صورت میں دیتا ہے جب تمام شرائط پوری ہوں۔ اگر کوئی شرائط پوری ہو جائیں تو یہ ڈیٹا واپس نہیں کرے گا۔ ہم جانتے ہیں کہ آپریٹرز WHERE کلیدی لفظ میں استعمال ہوتے ہیں۔ یہ اس طرح لکھا ہے:

|_+_|

آپ کئی شرائط بیان کر سکتے ہیں۔ ایمپلائی ٹیبل پر غور کریں۔ آئیے اب ان ملازمین کا نام، شناختی کارڈ، عمر اور تنخواہ بازیافت کریں جن کی عمر 40 سال سے زیادہ ہے اور تنخواہ 35,000 سے زیادہ یا اس کے برابر ہے۔

|_+_|

آؤٹ پٹ:

|_+_|

جب دونوں شرائط برقرار رہتی ہیں تو ملازم کا ڈیٹا بازیافت کیا جاتا ہے۔

OR آپریٹر دو یا زیادہ شرائط کو بھی یکجا کرتا ہے۔ AND کلیدی لفظ کے برعکس، تمام شرائط کے درست ہونے کی ضرورت نہیں ہے جو OR شق کا استعمال کرتے ہوئے WHERE کلیدی لفظ میں بیان کی گئی ہیں۔ یہاں تک کہ اگر ایک شرط درست ہے، تو یہ نتائج کے سیٹ میں ڈیٹا لکھے گا۔ آپ OR کلیدی لفظ کا استعمال کرتے ہوئے کئی شرائط بیان کر سکتے ہیں جیسا کہ ذیل میں دیا گیا ہے:

|_+_|

ٹیبل EMPLOYEE سے، ہم نام، شہر اور تنخواہ بازیافت کریں گے، جس کا شہر کیلیفورنیا ہے یا تنخواہ 30,000 ہے۔

|_+_|

آؤٹ پٹ:

|_+_|

مندرجہ بالا رزلٹ سیٹ میں تمام ملازمین کے نام شامل ہیں جو یا تو کیلیفورنیا میں رہتے ہیں یا جن کی تنخواہ 30,000 ہے۔

شق ہونا

جب آپ اپنے نتائج کو مزید مخصوص ڈیٹا میں فلٹر کرنا چاہتے ہیں تو HAVING شق استعمال کی جاتی ہے۔ آپ HAVING مطلوبہ الفاظ میں صرف مجموعی افعال کو لاگو کر سکتے ہیں، جو ڈیٹا کی بازیافت کے لیے شرط کی وضاحت کرے گا۔ HAVING کلیدی لفظ لکھنے کی شکل درج ذیل ہے:

|_+_|

ہم میز لیں گے، جس میں میز کا نام ہوگا، EMPLOYEE2۔ جدول درج ذیل ہے:

|_+_| |_+_|

آؤٹ پٹ:

|_+_|

مجموعی افعال

میں مجموعی افعال ڈیٹا بیس کا انتظام سسٹم ریکارڈز سے متعدد ڈیٹا لیتا ہے اور حساب کے بعد ایک ہی قیمت واپس کرتا ہے۔ پانچ مختلف مجموعی افعال ہیں: sum(), اوسط(), شمار(), منٹ(), اور زیادہ سے زیادہ()۔ ان تمام فنکشنز کا اطلاق صرف عددی ڈیٹا پر کیا جا سکتا ہے، سوائے count() فنکشن کے۔ آئیے ذیل میں ہر فنکشن پر تفصیل سے بات کریں۔ ہم مثالوں کے ساتھ مجموعی افعال کو سمجھنے کے لیے EMPLOYEE ٹیبل لیں گے۔

|_+_|
    رقم ():sum() فنکشن کالم میں موجود تمام نمبروں کا مجموعہ لوٹاتا ہے۔ مندرجہ بالا جدول میں، ہم sum() فنکشن کا استعمال کرتے ہوئے تمام ملازمین کی تنخواہوں کا مجموعہ کریں گے۔ یہ متعدد ڈیٹا لیتا ہے اور ایک ہی قدر لوٹاتا ہے۔
|_+_|

نتیجہ:

|_+_|
    اوسط():avg() فنکشن ایک واحد قدر بھی لوٹاتا ہے۔ یہ ایک کالم میں موجود تمام ڈیٹا نمبروں کے مجموعے کا حساب لگاتا ہے اور اسے کالموں کی کل تعداد سے تقسیم کرتا ہے۔ avg() فنکشن تمام عددی ڈیٹا کی اوسط کا حساب لگاتا ہے۔
|_+_|

نتیجہ:

|_+_|
    زیادہ سے زیادہ():جب آپ کو ڈیٹا سیٹ سے زیادہ سے زیادہ قدر تلاش کرنے کی ضرورت ہو، تو آپ max() فنکشن کو کسی خاص کالم پر لاگو کر سکتے ہیں۔ یہ نتیجہ سیٹ میں ایک واحد قدر بھی لوٹاتا ہے۔
|_+_|

آؤٹ پٹ:

|_+_|
    کم سے کم ():min() فنکشن max() فنکشن کے برعکس ہے۔ یہ مخصوص کالم سے کم از کم قیمت لوٹاتا ہے۔
|_+_|

آؤٹ پٹ:

|_+_|
    شمار():Count() ٹیبل میں ریکارڈز کی تعداد گننے کے لیے استعمال ہوتا ہے۔ آپ کاؤنٹ() فنکشن ٹیبل میں موجود تمام قسم کے ڈیٹا پر لاگو کر سکتے ہیں۔ یہ NULL اور ڈپلیکیٹ ڈیٹا پر بھی غور کرتا ہے۔ اگر آپ ڈپلیکیٹ ڈیٹا کو ہٹانا چاہتے ہیں، تو آپ کو DISTINCT کلیدی لفظ شامل کرنا ہوگا۔
|_+_|

آؤٹ پٹ:

|_+_|

Count() فنکشن EMPLOYEE ٹیبل میں اقسام کی تعداد لوٹاتا ہے۔

|_+_|

آؤٹ پٹ:

|_+_|

یہاں، ہم نے CITY کالم پر Count() فنکشن کے ساتھ DISTINCT کلیدی لفظ استعمال کیا۔ اس نے الگ الگ شہر کے ناموں کی گنتی واپس کردی۔ آپ Count() فنکشن کے ساتھ WHERE جملہ بھی شامل کر سکتے ہیں۔

|_+_|

آؤٹ پٹ:

|_+_|

ہمارے پاس متعدد ملازمین ہیں جن کی عمریں 40 سال سے زیادہ ہیں۔

مطلوبہ الفاظ کو اپ ڈیٹ کریں۔

اگر آپ جدول میں موجود ڈیٹا میں ترمیم کرنا چاہتے ہیں تو آپ اپ ڈیٹ کلیدی لفظ استعمال کر سکتے ہیں۔ اپ ڈیٹ کی ورڈ کے ساتھ، آپ WHERE کلیدی لفظ بھی شامل کر سکتے ہیں۔ WHERE کلیدی لفظ کا استعمال کرتے ہوئے، آپ صرف وہی ریکارڈ اپ ڈیٹ کر سکتے ہیں جن میں آپ ترمیم کرنا چاہتے ہیں۔ اگر آپ WHERE کلیدی لفظ شامل نہیں کرتے ہیں تو تمام ریکارڈ اپ ڈیٹ ہو جائیں گے۔ آپ اپ ڈیٹ کا سوال درج ذیل طریقے سے لکھ سکتے ہیں:

|_+_|

اگر آپ کو دو یا دو سے زیادہ ریکارڈز میں تبدیلیاں لاگو کرنے کی ضرورت ہے، تو آپ AND اور OR آپریٹرز کو اپلائی کر سکتے ہیں۔ ایمپلائی ٹیبل لے لو۔ ہم 405 ID والے ملازم کی عمر کو اپ ڈیٹ کریں گے۔ ہم 37 سے 40 سال کی عمر مقرر کریں گے۔

|_+_|

جب آپ کسی ملازم کی عمر کو اپ ڈیٹ کرتے ہیں، جس کی ID 405 ہے، تو یہ تبدیلی جدول میں ظاہر ہوگی۔ ہم جان لیں گے کہ ایمپلائی ٹیبل میں ترمیم کے بعد کیسا نظر آئے گا۔

آؤٹ پٹ:

|_+_|

اب فرض کریں کہ آپ ID 407 والے ملازم کی تنخواہ اور عمر تبدیل کرنا چاہتے ہیں۔ ہم تنخواہ 55,000 اور عمر 35 مقرر کریں گے۔

|_+_|

آؤٹ پٹ:

|_+_|

مندرجہ بالا جدول میں تازہ ترین ڈیٹا شامل ہے۔

استفسار حذف کریں۔

جب آپ ٹیبل سے کوئی ریکارڈ حذف کرنا چاہتے ہیں تو ڈیلیٹ کی ورڈ استعمال کیا جاتا ہے۔ اگر آپ مخصوص ٹوپل یا قطار کو حذف کرنا چاہتے ہیں تو شرط کی وضاحت کے لیے WHERE کلیدی لفظ شامل کریں۔ AND یا OR آپریٹرز کا استعمال کرتے ہوئے متعدد شرائط کو یکجا کریں۔ آپ حذف کرنے کے سوال کو ذیل میں لکھ سکتے ہیں:

|_+_|

مثال کے طور پر، ایمپلائی ٹیبل لیں۔ ہم ملازم کے ریکارڈ کو حذف کر دیں گے جس میں ملازم ID 405 ہے۔

|_+_|

مندرجہ بالا استفسار پر عمل کرنے کے بعد ٹیبل میں ملازم کا ریکارڈ شامل نہیں ہوگا جس میں ملازم کی ID 405 ہو۔

آؤٹ پٹ:

|_+_|

اگر آپ ٹیبل سے تمام قطاروں کو حذف کرنا چاہتے ہیں تو نیچے دی گئی استفسار کا استعمال کریں،

|_+_|

اس استفسار پر عمل کرنے کے بعد، صرف ڈیٹا کو حذف کیا جائے گا، ٹیبل اسکیما کو نہیں۔

شق کے ذریعہ آرڈر کریں۔

آپ ORDER BY جملہ کا استعمال کرتے ہوئے اپنے کالم کے ڈیٹا کو صعودی یا نزولی ترتیب میں ترتیب دے سکتے ہیں۔ پہلے سے طے شدہ طور پر، کالم ڈیٹا کو صعودی ترتیب میں ترتیب دیا جاتا ہے۔ ORDER BY جملہ لکھنے کے لیے درج ذیل فارمیٹ پر عمل کریں۔

|_+_|

کالم کی فہرست میں وہ تمام کالم شامل ہونے چاہئیں جنہیں آپ ترتیب دینا یا ترتیب دینا چاہتے ہیں۔ ایک سادہ سی مثال کے ساتھ اس جملے کو سمجھنے کے لیے اسی ایمپلائی ٹیبل کو لیں۔ ہم کالم کی فہرست میں کالم کا نام، NAME اور SALARY شامل کریں گے۔

|_+_|

ٹیبل کو صعودی ترتیب میں ناموں کے مطابق ترتیب دیا جائے گا۔

آؤٹ پٹ:

|_+_|

اب، ہم NAME کالم کا استعمال کرتے ہوئے ٹیبل کو نزولی ترتیب میں بنائیں گے۔

|_+_|

آؤٹ پٹ:

|_+_|

گروپ بذریعہ شق

ایک جیسی ڈیٹا گروپنگ کے لیے، GROUP BY شق استعمال کی جاتی ہے۔ WHERE کلیدی لفظ ہمیشہ GROUP BY شق کے بعد آتا ہے، اور GROUP BY جملہ کے بعد ORDER BY شق آتا ہے۔ یہ اسی طرح کے ڈیٹا کو گروپوں میں گروپ کرتا ہے جو WHERE شق میں شرط کے ذریعہ بیان کیا گیا ہے۔ GROUP BY شق درج ذیل ہے:

|_+_|

ہم دوسرے ٹیبل پر GROUP BY جملہ کا اطلاق کریں گے۔ نیچے دیے گئے ٹیبل EMPLOYEE1 پر غور کریں۔

|_+_|

یہاں، سٹیو شکاگو کے ساتھ ساتھ کیلیفورنیا میں بھی کام کرتا ہے۔ لہذا، ہم اسٹیو کے ڈیٹا کو GROUP BY جملہ کا استعمال کرتے ہوئے گروپ کرسکتے ہیں، جو اس کا نام اور مجموعی تنخواہ ظاہر کرے گا۔

|_+_|

آؤٹ پٹ:

|_+_|

DISTINCT کلیدی لفظ

DISTINCT کلیدی لفظ ٹیبل سے تمام ڈپلیکیٹ اقدار کو ہٹا دیتا ہے۔ بہت سی جدولوں میں بے کار یا ڈپلیکیٹ ڈیٹا ہو سکتا ہے۔ ایسے حالات میں، DISTINCT کلیدی لفظ استعمال کرنے سے منفرد ڈیٹا کی بازیافت میں مدد ملے گی۔ آپ ان کالموں کی وضاحت کر سکتے ہیں جہاں سے آپ کو منفرد ڈیٹا حاصل کرنے کی ضرورت ہے۔ DISTINCT کلیدی لفظ لکھنے کی شکل درج ذیل ہے:

|_+_|

یہ سمجھنے کے لیے کہ DISTINCT کلیدی لفظ کیسے کام کرتا ہے، آئیے EMPLOYEE ٹیبل لیتے ہیں۔ سب سے پہلے، ہم میز کو صعودی ترتیب میں تنخواہ کے حساب سے ترتیب دیں گے۔

|_+_|

آؤٹ پٹ:

|_+_|

مندرجہ بالا رزلٹ سیٹ میں، ڈپلیکیٹ ڈیٹا ہے، یعنی 30,000 دو مختلف قطاروں میں موجود ہے۔ جب ہم DISTINCT کلیدی لفظ کا اطلاق کرتے ہیں تو نتیجہ میں کوئی نقلی ڈیٹا نہیں ہوگا۔

|_+_|

آؤٹ پٹ:

|_+_|

ایس کیو ایل جوائن

ایس کیو ایل میں، جوائن ایک ٹیبل میں دو یا زیادہ ٹیبلز کے ریکارڈ کو یکجا کرتا ہے۔ JOIN ٹیبلز میں مشترکہ کالموں کا استعمال کرتے ہوئے ٹیبلز کو یکجا کرنے کا ذریعہ ہے۔ ہم اس بات کو تسلیم کرنے کی ایک مثال دیکھیں گے کہ JOIN کیسے کیا جاتا ہے۔

ہم دو ٹیبل لیں گے اور ان دونوں ٹیبلز کو جوائن کریں گے ان کے درمیان مشترک وصف کی بنیاد پر۔ ایمپلائی ٹیبل لے لو۔ ہم ایک اور ٹیبل بنائیں گے، DEPARTMENT۔

|_+_|

اب ہمارے پاس دو میزیں ہیں۔ ہم ان دو ٹیبلز کو جوائن کریں گے اور نتیجہ سیٹ ڈسپلے کریں گے۔ دونوں جدولوں میں ایک مشترک وصف ہے، EMP_ID۔

|_+_|

نتیجہ حسب ذیل ہے:

|_+_|

WHERE شق میں، ہم کئی آپریٹرز کا استعمال کرتے ہوئے ٹیبل یا ریلیشنز جوائن کر سکتے ہیں: , =, BETWEEN, !, NOT, وغیرہ۔ جوائن کو کئی اقسام میں تقسیم کیا جا سکتا ہے۔ INNER جوائن ٹیبلز کو جوائن کرتا ہے اور ڈیٹا کا نتیجہ لوٹاتا ہے جو دونوں رشتوں کے درمیان ملتا ہے۔ ایک اور جوائن لیفٹ جوائن ہے، جو بائیں ٹیبل سے تمام ڈیٹا واپس کرتا ہے۔ اگر بائیں ٹیبل کا دائیں ٹیبل کے ساتھ کوئی مماثلت نہیں ہے تو NULL لکھا جاتا ہے۔ رائٹ جوائن صحیح ٹیبل سے تمام ڈیٹا تیار کرتا ہے۔ صحیح ٹیبل کے لیے جس کا میچ دستیاب نہیں ہے، NULL لکھیں۔

بائیں شمولیت

بائیں جوڑ دو رشتوں کو جوڑتا ہے جن میں ایک مشترک وصف ہے۔ آپ دونوں رشتوں سے ظاہر کرنے کے لیے کالم بتا سکتے ہیں۔ بائیں میز سے تمام ڈیٹا نتیجہ سیٹ میں موجود ہے. دائیں ٹیبل کے ڈیٹا کے لیے جو بائیں ٹیبل کے ڈیٹا سے مماثل نہیں ہے، NULL لکھا جاتا ہے۔ ہم EMPLOYEE اور DEPARTMENT کا استعمال کرتے ہوئے بائیں شمولیت کی ایک مثال دیکھیں گے۔

|_+_|

شعبہ

|_+_|

اب ہم LEFT JOIN کی ورڈ کا استعمال کرتے ہوئے ان دونوں رشتوں کو جوڑنے کے لیے استفسار لکھیں گے۔

|_+_|

نتیجہ:

|_+_|

دائیں شمولیت

دائیں جوڑ بھی دو میزوں کو جوڑتا ہے۔ جب ہم دو رشتوں پر رائٹ جوائن کا اطلاق کرتے ہیں، تو یہ بائیں ٹیبل کے ساتھ مماثل تمام دائیں ٹیبل کا ڈیٹا دکھائے گا۔ بائیں ٹیبل کے لیے دائیں ٹیبل کے ڈیٹا سے میل نہیں کھاتا، NULL لکھا جاتا ہے۔ صحیح جوائن کی ورڈ کو سمجھنے کے لیے ہم انہی دو رشتوں، EMPLOYEE اور DEPARTMENT کو لیں گے۔

|_+_|

آؤٹ پٹ:

|_+_|

نتیجہ

ایک سٹرکچرڈ استفسار کی زبان (SQL) تمام بڑے ڈیٹا بیسز کے ذریعے استعمال کی جاتی ہے: MySQL، MS Access، Oracle، وغیرہ۔ یہ زبان صارفین کو ڈیٹا بیس میں ٹیبل بنانے اور کئی شقوں، آپریٹرز، بیانات کا استعمال کرتے ہوئے ان میں ہیرا پھیری کرنے کے قابل بناتی ہے۔ یہ مضمون ابتدائی افراد کے لیے SQL فوری حوالہ ہے۔ نئے صارفین اس ٹیوٹوریل سے SQL کی تمام بنیادی باتیں سیکھ سکتے ہیں۔

یہ پوسٹ ایس کیو ایل فوری حوالہ ہے، جو ڈیٹا بیس میں ڈیٹا کو ہیر پھیر کرنے کے بارے میں بنیادی معلومات فراہم کرے گی۔ ہم نے ڈی ایم ایل، ڈی ڈی ایل، ٹی سی ایل، ڈی کیو ایل، ڈی سی ایل کمانڈز کے تمام بنیادی نحو کو دیکھا ہے۔ بعد میں، ہم نے مختلف شقیں، ڈیٹا انٹیگریٹی، ڈیٹا کی اقسام، آپریٹرز، اور اظہارات سیکھے۔ بعد کے حصے میں، ہم نے ڈیٹا بیس میں ڈیٹا بنانے، جوڑ توڑ اور چھوڑنے کی مثالیں دیکھی ہیں۔