[Powered by Google Translate] [SQL] [کرسٹوفر BARTHOLOMEW] [ہارورڈ یونیورسٹی] [اس CS50] [ٹی وی CS50] تو، پروگرامر ایک آلہ کے طور پر ڈیٹا بیس کا استعمال کرتے ہیں اور منظم کرنے کے لئے جمع ٹیبل کے اندر اندر ہماری مسلسل ڈیٹا. اس کا مطلب یہ ہے کہ آپ کا ڈیٹا اس طرح کی ہارڈ ڈرائیو کے طور پر انہراسی medians پر محفوظ کیا جاتا ہے، اور اعداد و شمار اس وقت بھی جب کمپیوٹر بند ہے، اب بھی برقرار ہے. اور پروگرامرز کے طور پر، ہمارے پروگراموں کو اس طرح کے منظرنامے کو ذخیرہ کرنے کے طور پر کے لئے ڈیٹا بیس استعمال ویب فارمز سے صارف کی معلومات، انوینٹری دیکھ، یا سائٹس ظاہر کرنے کے لئے کے بارے میں معلومات کو اپ ڈیٹ. لیکن ہم اپنے ڈیٹا بیس کے ساتھ اصل میں کس طرح بات چیت کرتے ہیں، یا جو ہم استعمال کرتے ہیں، پڑھنا اور ذخیرہ کرنے، حذف، اور ان ڈیٹابیس کے ٹیبل کے اندر اندر اپنی معلومات کو اپ ڈیٹ؟ ٹھیک ہے تو اس کا جواب یہ ہے کہ ہم ڈیٹا بیس کی زبان کی ایک خاص قسم کا استعمال کرتے ہیں جو ہمارے ڈیٹابیس کے ٹیبل کے ساتھ براہ راست انٹرایکٹ کر سکے. یہ نام طلب زبان کا ڈھانچہ ہے، [تشکیل طلب زبانیں] یا کیا میں SQL کے طور پر حوالہ دیتے ہیں. اب، [QueL SE]، یا SQL، ایک پروگرامنگ زبان نہیں ہے، لیکن اس کے بجائے، یہ ایک ایسی زبان ہے جو حکم دیتا ہے کا ایک معیاری سیٹ فراہم کرتا ہے ہے اور جوڑتوڑ پر ڈیٹا بیس کے انتظام کے نظام کی ایک قسم سے ڈیٹا کی بازیافت کریں. CS50 کے مقصد کے لئے، ہم سے زیادہ چار بنیادی حکم کریں گے: داخل، منتخب کریں، اپ ڈیٹ کریں، اور خارج کر دیں. مزید برآں، ہم ایک ڈیٹا بیس ویب کہا جاتا phpMyAdmin انٹرفیس استعمال کریں گے، جس کے آلے پر نصب ہمارے SQL بیانات کو لکھنے کے لئے ہے. تو میں آپ کی مدد ان احکام کو یاد کرنے کے لئے، میں ہمارے منظرنامے کے ساتھ کی مدد کے لئے الماری میں کچھ cupcakes لایا ہوں. کا کہنا ہے کہ آپ کو ایک cupcake ڈیٹا بیس ہے، آپ کو آپ cupcakes کے بارے میں تمام معلومات کہاں سٹور. اب، ڈیٹا بیس کئی ٹیبل پر مشتمل کر سکتے ہیں اور میزیں خود کئی کالموں پر مشتمل کر سکتے ہیں. ہمارے cupcake کے ڈیٹا بیس کے اندر، ہم نامی cupcake_cupboard میز ہے. یہ میز cupcakes کے بارے میں تمام معلومات کو محفوظ کرنے کے استعمال کیا جائے گا ہیں، آپ کی الماری میں ہے. کالم جو آپ کی ٹیبل کے اندر ہیں ایک cupcake کی صفات کی نمائندگی کرتی ہیں. مثال کے طور پر، cupcake_cupboard کالم کیک ID، CakeType، CakeColor، اور CakeIsNice. یہ کالم بولین ٹائپ اگر کیک اچھا یا نہیں اچھی ہے تعین کرنے کے لئے استعمال کیا جاتا ہے. ہم منتخب بیان لکھنے کے ساتھ شروع کرنے کے لئے جا رہے ہیں. منتخب کریں بیانات ایک خاص ڈیٹا بیس کے ٹیبل کے اعداد و شمار حاصل کرنے کے لیے استعمال کیا جاتا ہے. اس منظر نامے میں، ہم سب کچھ جاننا چاہتا ہوں تمام cupcakes جو اپنی الماری میں موجود کے بارے میں. ایسا نحو "منتخب کریں" کی جگہ اسٹار، یا *، ہماری ٹیبل خلا سے خلا ہے، جس cupcake_cupboard ہے. چلو آگے بڑھو اور یہ کہ پھانسی. جیسا کہ ہم دیکھ سکتے ہیں، یہ ہمارے الماری میں تمام cupcakes ہیں. ایک وائلڈ کارڈ کے کردار کا ہے، یہ ضروری ہے *، یا ستارے نوٹ جو کچھ ٹیبل کے کالم کے اجتماع کرنا. عام طور پر، ہم ایک مخصوص کالم یا کالم تک رسائی حاصل کر سکتے ہیں اصل کالم کے نام کے ساتھ * تبدیل کر. اگر ہم ایک سے زیادہ کالم چاہتے ہیں، لیکن سب نہیں ہے، ہم اس مقصد کو حاصل کر سکتے ہیں کالم کوما کی طرف سے ہر کالم delimiting ناموں کو لکھ کر. مثال کے طور پر، صرف CakeId اور cupcake_cupboard ٹیبل میں CakeType بازیافت. ایسا کرنے کا نحو ہے: SELECT خلا CakeID کوما ہماری ٹیبل cupcake_cupboard سے CakeType جگہ. چلو، آگے بڑھو اور اس پھانسی. اور یہاں، اب ہم صرف دو کالم ہم مخصوص کر ہمارے الماری میں ہر cupcake کے لئے. ہم اس کی وضاحت کی طرف سے ہمارے کے استفسار کے نتائج کو بھی بہتر بنانے کر سکتے ہیں ٹیبل نام کے بعد "جہاں" کی شق. مثال کے طور پر، ہمارے الماری میں ایک cupcake ظاہر ٹھیک ہے، یہ ہے کہ، دیکھ تو اچھا نہیں. آو ہمارے الماری میں تمام cupcakes کہ، اچھی طرح کر رہے ہیں، تو اچھا نہیں پتہ لگ "جہاں" کی شق کا استعمال کرتے ہوئے. ایسا کرنے کا نحو ہے: خلا cupcake_cupboard سے منتخب جگہ * خلا کی جگہ ہے جہاں اس معاملے میں ہماری مشروط کالم کی جگہ، CakeIsNice =، جھوٹی اور بولین قدر. یہ بات نوٹ کرنا اہم ہے ہے کہ اگر آپ ڈور کا استعمال کر رہے ہیں، آپ کو ایک کی قیمت درج کرنے میں لگا دینا ضروری ہے. یہ SQL میں تمام ڈور کے لئے سچ ہے، یا SQL ڈیٹا بیس کے معاملے میں، مختلف حروف Varchar ڈیٹاپرکار کے طور پر جانا جاتا ہے. اس صورت میں، ہم نے صحیح یا غلط کا استعمال کرتے ہوئے کر رہے ہیں، جو کہ ایک بولین قدر اور ایک سٹرنگ نہیں ہے. چلو، آگے بڑھو اور اس کمانڈ پھانسی. یہ دیکھو اور دیکھو، مقدمہ ہے کہ ہم 1 چاکلیٹ ہے ہمارے الماری میں cupcake اچھا نہیں. اگلا، ہم داخل بیان لکھنے کے لئے جا رہے ہیں. داخل بیانات یا شامل کرنے کے لئے داخل استعمال کیا جاتا ہے آپ کے ڈیٹا بیس کے ٹیبل میں ڈیٹا کی اضافی قطار. ہماری منظر نامے Revisiting، فرض ہے کہ ہم صرف ایک نئے برانڈ cupcake کر دیا ہے. چونکہ ہم بہت cupcake کار کھانے والا ہی سمجھتے منعقد کی جاتی ہیں، ہم اس نئے cupcake داخل کرنے کی ضرورت کے لئے جا رہے ہیں ہماری cupcake_cupboard ٹیبل میں. ایسا نحو یہ ہے: خلائی ہماری ٹیبل میں جگہ ڈالیں، cupcake_cupboard، خلائی (، اور یہاں ہم نے کالم کے نام، کوما کی طرف سے محدود درج کرتے ہیں، CakeType کوما CakeColor خلا CakeIsNice کوما). اس کے بعد، ہم لفظ اقدار کی جگہ (لکھتے ہیں، اور یہاں ہم ہر کالم کے لئے قیمت بالترتیب داخل بھی کوما کی طرف سے محدود ہے. اکیلی اقتباس، کیونکہ وہ سب کے سب Varchar اقدار ہیں ہم ان کو ایک کی قیمت درج کرنے میں چاروں طرف کریں گے، مونگفلی کا مکھن 'کوما' لائٹ براؤن کوما سچ ہے. اب، یہ ضروری ہے کہ ہر صف کو خود کی شناخت کرنے کے لئے ایک منفرد نمبر دینے. ایک کالم Autoincrementing کے طور پر فراہم کرتا ہے  "نہیں دونوں ایک ہی شناخت کبھی بھی اس کے ٹیبل میں موجود کر سکتے ہیں." چلو آگے بڑھو اور پھانسی. وہاں ہم تمام منظم. اگلے SQL بیان ہے کہ ہم لکھیں گے ایک اپ ڈیٹ کا بیان ہے. اپ ڈیٹ بیان ایک کالم میں اعداد و شمار پر نظر ثانی کرنے کے لیے استعمال کیا جا سکتا ہے آپ کے ڈیٹا بیس کے ٹیبل میں کوئی موجودہ قطار کے لئے. ہمارے جائزہ میں پہلے منتخب بیان کا استعمال کرتے ہوئے، ہم نے ایک cupcake کی شناخت ہمارے cupcake_cupboard کے ٹیبل کے اندر اندر جن CakeIsNice قدر جھوٹی تھی. چلو مان لیتے ہیں کہ جبکہ ہمارے مونگفلی کا مکھن cupcake تندور میں تھا، ہم ہماری نہیں کتنے اچھے cupcake بہت اچھا بنا دیا ہے. کیا جا رہا ہے تاکہ غیر معمولی منظم، ہم اپنے cupcake اس قیمت کی عکاسی کرنا چاہتے ہیں ہماری cupcake_cupboard ٹیبل میں. لہذا، ہمارے ڈیٹا بیس میں چاکلیٹ cupcake اس کی عکاسی کرنے کے لئے اپ ڈیٹ. نحو ہے: اپ ڈیٹ خلائی ہمارے ٹیبل، cupcake_cupboard، خلائی SET خلا کالم ہے کہ ہم پر تبدیل کرنا چاہتے ہیں، CakeIsNice =. تو پھر ہم یہاں ہماری نئی قدر یہ سچ ہے کہ خلائی رکھیں. اب، کیونکہ ہم اس کی قیمت کے ساتھ تمام قطاروں کو اپ ڈیٹ نہیں کرنا چاہتا، ہم نے ایک "جہاں" کی شق جو ہمیں اشارہ فراہم کرنے کے لئے کرنا چاہتے ہیں عین مطابق صف ہے کہ ہم پر نظر ثانی کرنا چاہتے ہیں. اس صورت میں، ہم جانتے ہیں کہ صرف ایک cupcake ہے کہ جھوٹے کی CakeIsNice قیمت ہے. مزید برآں، ہم بھی کہ ہم صحیح صف کو اپ ڈیٹ کر رہے ہیں اس بات کا یقین کرے گا شق "اور" کا استعمال کرتے ہوئے کی طرف سے. ہم شق "اور" کو استعمال کرتے ہوئے مزید ہمارے استفسار کو بہتر. اس صورت میں، کیونکہ ہم جانتے ہیں کہ cupcake چاکلیٹ ہے، ہم اس CakeType کالم کا استعمال کریں گے. WHERE ہمارے مشروط کالم کی جگہ CakeIsNice خلا جھوٹی = جگہ، اور خلائی CakeType = 'چاکلیٹ. تو، سب کو ایک ساتھ رکھ، اس اپ ڈیٹ کے بیان کا کہنا ہے کہ ہمارے cupcake الماری میں cupcakes تلاش اور اگر ایک cupcake ہیں جن کے کالم CakeIsNice جھوٹی قیمت پر مشتمل ہے ہے اور CakeType قیمت چاکلیٹ پر مشتمل ہے، ہم یہ سچ ہے کہ خاص طور پر قطار CakeIsNice قیمت کو اپ ڈیٹ کرنا چاہتے ہیں. تو، آگے بڑھیں اور بیان پھانسی. اور اب، ہم منظم کر رہے ہیں. cupcakes کی اس بات نے مجھے تھوڑا سا بھوکا کر دیا گیا ہے. مجھے لگتا ہے کہ میں اپنے آپ کو ایک کی مدد کرنی چاہئے. لیکن اگر میں واقعی میں اس cupcake کھانا، کم از کم میں نے بھی اس کے وجود کو ختم کرنا چاہئے  ہمارے cupcake_cupboard کے ٹیبل سے. ایسا کرنے کے لئے، ہم "کو حذف کریں" کا بیان استعمال کریں گے. "کو حذف کریں" بیان میز سے تمام یا کسی قطار کو دور کرنے کے لئے استعمال کیا جا سکتا ہے. اگر آپ ٹیبل کی طرف سے کچھ مخصوص صف ختم کرنا چاہتے ہیں، تو آپ ایک "جہاں" کی شق کو فراہم کرتے ہیں، اور اس طرح ایک کالم کی وضاحت ضروری ہے جو قطار ہے کہ آپ کو ہٹانے چاہتے ہیں اس کے پاس منفرد ہونا چاہئے. یہ نحو ہے: خلا سے ہمارے ٹیبل، cupcake_cupboard خلا، خلا، کو حذف کریں. اب، اس وقت، جب بھی آپ ابھی تک آپ کے حذف بیان میں ہیں آپ کو بہت ہوشیار رہنا چاہتے ہیں. مثال کے طور پر، اگر میں اس کے سوال کو چلانے کے لئے کرنا چاہتے ہیں جیسا کہ کچھ "جہاں" کی شق فراہم کرنے کے بغیر میں اس cupcake_cupboard ٹیبل میں تمام ڈیٹا سے محروم ہوں گے، بلکہ اس لئے کہ میں نے پہلے سے ہی جانتے ہیں کہ میرے کیک شناخت منفرد ہیں میں استعمال کریں گے، اپنے "جہاں" کی شق کے لئے ریڈ مخمل کیک ID. WHERE خلائی ہمارے کالم، CakeID = 1. کیونکہ یہ ایک عددی قدر ہے کوئی ایک کی قیمت درج کرنے میں چاروں طرف کی ضرورت ہے. تو، بیان پھانسی. ٹھیک ہے، اب ہم اس cupcake کے وجود کا صفایا کر دیا ہے ہمارے cupcake_cupboard کے ٹیبل سے، ہم صرف ایک بائیں چیز ہے: بنائیں غائب. میں کرسٹوفر BartholOmew ہوں. یہ CS50 ہے.