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

Insert Row If Values Don T Already Exist Postgresl



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

نحو۔

>> داخل کریں INTOٹیبل نام۔(کالم 1 ،کالم) قیمتیں ('ویلیو 1' ، 'ویلیو 2')؛

یہاں ، ایک کالم میز کی صفات ہے۔ کلیدی لفظ VALUE اقدار داخل کرنے کے لیے استعمال ہوتا ہے۔ 'ویلیو' داخل ہونے والے ٹیبلز کا ڈیٹا ہے۔







پوسٹگری ایس کیو ایل شیل (پی ایس کیو ایل) میں صف افعال داخل کرنا

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





مثال 1: جدولوں میں نئے ریکارڈ شامل کرنے کے لیے INSERT کا استعمال۔
نحو کے بعد ، ہم مندرجہ ذیل استفسار بنائیں گے۔ ٹیبل میں ایک قطار ڈالنے کے لیے ، ہم کسٹمر نامی ٹیبل بنائیں گے۔ متعلقہ ٹیبل میں 3 کالم ہیں۔ اس کالم میں ڈیٹا داخل کرنے اور فالتو پن سے بچنے کے لیے مخصوص کالموں کے ڈیٹا کی قسم کا ذکر کیا جانا چاہیے۔ ٹیبل بنانے کا سوال یہ ہے:





>> بنانا ٹیبلصارف(آئی ڈیint،نام ورچار (40۔)، ملکورچار (40۔))؛

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



>> داخل کریں میںصارف(آئی ڈی ،نام، ملک) اقدار ('1'،'عالیہ' ، 'پاکستان')

ہر کامیاب اندراج کے بعد ، آؤٹ پٹ 0 1 ہوگی ، جس کا مطلب ہے کہ ایک وقت میں 1 صف داخل کی جاتی ہے۔ استفسار میں جیسا کہ پہلے ذکر کیا گیا ہے ، ہم نے 4 بار ڈیٹا داخل کیا ہے۔ نتائج دیکھنے کے لیے ، ہم مندرجہ ذیل استفسار کا استعمال کریں گے:

>> منتخب کریں*سےصارف؛

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

مثال 3: ایک ٹیبل میں ایک سے زیادہ قطاریں داخل کریں دوسرے ٹیبل میں نمبروں کی بنیاد پر۔
یہ مثال ایک ٹیبل سے دوسری ٹیبل میں ڈیٹا داخل کرنے سے متعلق ہے۔ دو جدولوں ، a اور b پر غور کریں۔ ٹیبل اے میں 2 صفات ہیں ، یعنی نام اور کلاس۔ CREATE استفسار کا اطلاق کرکے ، ہم ایک ٹیبل متعارف کرائیں گے۔ ٹیبل کی تخلیق کے بعد ، ایک داخل سوال کے ذریعے ڈیٹا داخل کیا جائے گا۔

>> بنانا ٹیبلکو(نام ورچار (30۔)،کلاس ورچار (40۔))؛
>> داخل کریں میںکواقدار ('آمنہ' ،)،('بھیشما' ، '')،('جاوید' ، '')،('نیچے' ،')؛

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

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

>> بنانا ٹیبلب(تمام نام varchar(30۔)، موضوع varchar(70۔))؛

منتخب تھیوری کے ذریعہ ریکارڈ حاصل کریں۔

>> منتخب کریں*سےب؛

ٹیبل کی اقدار داخل کرنے کے لیے۔ ب ٹیبل میں ، ہم مندرجہ ذیل استفسار استعمال کریں گے۔ یہ استفسار اس طرح کام کرے گا کہ ٹیبل میں موجود تمام نام۔ ب ٹیبل میں ڈالا جائے گا۔ کو نمبروں کی گنتی کے ساتھ جو ٹیبل کے متعلقہ کالم میں کسی خاص نمبر کی موجودگی کی تعداد دکھاتی ہے۔ ب . b.allnames ٹیبل کی وضاحت کے لیے آبجیکٹ فنکشن کی نمائندگی کرتا ہے۔ Count (b.allnames) فنکشن کل وقوع کو گننے کے لیے کام کرتا ہے۔ جیسا کہ ہر نام ایک ہی وقت میں آتا ہے ، نتیجے کے کالم میں 1 نمبر ہوگا۔

>> داخل کریں میںکو(نام،کلاس) منتخب کریںb.allnames، count(b.allnames) سےبگروپ کی طرف سےb.allnames

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

>> داخل کریں میںب(تمام نام ، موضوع) منتخب کریں*سے (منتخب کریں'کنزا'جیسا کہتمام نام ، 'اسلامیات'جیسا کہمضمون) جیسا کہtmpکہاں نہیں موجود ہے ( منتخب کریںتمام نامسےبکہاںتمام نام='سنڈس'حد )؛

مثال 5: PostgreSQL اپسرٹ INSERT بیان کا استعمال کرتے ہوئے۔
اس فنکشن کی دو اقسام ہیں:

  • اپ ڈیٹ: اگر کوئی تنازعہ ہوتا ہے ، اگر ریکارڈ ٹیبل میں موجود ڈیٹا سے مماثل ہے تو اسے نئے ڈیٹا کے ساتھ اپ ڈیٹ کیا جاتا ہے۔
  • اگر کوئی تنازعہ ہوتا ہے تو کچھ نہ کریں۔ : اگر کوئی ریکارڈ ٹیبل میں موجود ڈیٹا سے مماثل ہے تو وہ ریکارڈ کو چھوڑ دیتا ہے ، یا اگر کوئی غلطی کی بنیاد رکھی جاتی ہے تو اسے بھی نظر انداز کر دیا جاتا ہے۔

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

>> بنانا ٹیبلٹی بی ایل 2۔(آئی ڈیINT پرائمری چابی،نام۔ کردار کی تبدیلی)؛

ٹیبل بنانے کے بعد ہم استفسار کے ذریعے ٹی بی ایل 2 میں ڈیٹا داخل کریں گے:

>> داخل کریں INTOٹی بی ایل 2۔قیمتیں (،'عظمہ')،(،'عبدل')،(،'ہمنا')،(،'فاطمہ')،(،'شیزا')،(،'جویریہ')

اگر کوئی تنازعہ ہوتا ہے تو ، اپ ڈیٹ کریں:

>>داخل کریں INTOٹی بی ایل 2۔قیمتیں (،'سواری') پرکنفلکٹ(آئی ڈی) کیا اپ ڈیٹ سیٹ کریں۔ نام۔=خارجنام۔؛

سب سے پہلے ، ہم آئی ڈی 8 کے تنازعہ کے سوال اور Rida نام کا استعمال کرتے ہوئے ڈیٹا داخل کریں گے۔ ایک ہی آئی ڈی کے بعد وہی استفسار استعمال کیا جائے گا۔ نام بدل دیا جائے گا. اب آپ دیکھیں گے کہ ٹیبل میں ایک ہی آئی ڈی پر نام کیسے بدلے جائیں گے۔

>> داخل کریں INTOٹی بی ایل 2۔قیمتیں (،'کام') پرکنفلکٹ(آئی ڈی) کیا اپ ڈیٹ سیٹ کریں۔ نام۔ =خارجنام۔؛

ہم نے پایا ہے کہ آئی ڈی 8 پر تنازعہ تھا ، لہذا مخصوص قطار کو اپ ڈیٹ کیا گیا ہے۔

اگر کوئی تنازعہ ہوتا ہے تو کچھ نہ کریں۔

>> داخل کریں INTOٹی بی ایل 2۔قیمتیں (،'حرا') پرکنفلکٹ(آئی ڈی) کیا کچھ نہیں۔؛

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

>>داخل کریں INTOٹی بی ایل 2۔قیمتیں (،'حرا') پرکنفلکٹ(آئی ڈی) کیا کچھ نہیں۔؛

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

نتیجہ

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