PostgreSQL آٹو انکریمنٹ پرائمری کلید کو کیسے سیٹ اپ کریں؟

How Setup Postgresql Auto Increment Primary Key



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

نحو:

آٹو انکریمنٹ پرائمری کلید بنانے کے لیے عمومی نحو مندرجہ ذیل ہے۔







>>ٹیبل ٹیبل کا نام بنائیں۔( آئی ڈیسیریل)؛

آئیے اب مزید تفصیل سے CREATE TABLE اعلامیہ پر نظر ڈالیں:



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

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







بطور ڈیٹا کلیدی لفظ استعمال کرنا:

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

مثال 01:

دو کالم آئی ڈی اور نام کے ساتھ ٹیبل ٹیسٹ بنائیں۔ کالم آئی ڈی کو بنیادی کلیدی کالم کے طور پر بیان کیا گیا ہے کیونکہ اس کا ڈیٹا ٹائپ سیریل ہے۔ دوسری طرف ، کالم کا نام TEXT NOT NULL ڈیٹا ٹائپ کے طور پر بیان کیا گیا ہے۔ ٹیبل بنانے کے لیے نیچے دی گئی کمانڈ کو آزمائیں اور ٹیبل کو موثر انداز میں بنایا جائے گا جیسا کہ نیچے دی گئی تصویر میں دیکھا گیا ہے۔



>>ٹیبل ٹیسٹ بنائیں۔( آئی ڈیسیریل پرائمری کلید ، ٹیکسٹ نٹ نال۔)؛

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

>>ٹیسٹ میں داخل کریں۔(نام)قیمتیں(اقصیٰ)،('رمشا')،('خان')؛

ٹیبل 'ٹیسٹ' کے ریکارڈ چیک کرنے کا وقت آگیا ہے۔ کمانڈ شیل میں نیچے دی گئی SELECT ہدایات کو آزمائیں۔

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

نیچے آؤٹ پٹ سے ، آپ دیکھ سکتے ہیں کہ کالم آئی ڈی کو خود بخود اس میں کچھ اقدار مل گئی ہیں حالانکہ ہم نے INSERT کمانڈ سے کوئی قدر شامل نہیں کی ہے کیونکہ ہم نے ڈیٹا ٹائپ سیریل کی وجہ سے کالم آئی ڈی کے لیے مخصوص کیا ہے۔ اس طرح ڈیٹا ٹائپ سیریل اپنے طور پر کام کرتا ہے۔

مثال 02:

SERIAL ڈیٹا ٹائپ کالم کی قیمت چیک کرنے کا دوسرا طریقہ INSERT کمانڈ میں RETURNING کلیدی لفظ استعمال کرنا ہے۔ ذیل کا اعلان ٹیسٹ ٹیبل میں ایک نئی لائن بناتا ہے اور آئی ڈی فیلڈ کی قیمت پیدا کرتا ہے۔

>>ٹیسٹ میں داخل کریں۔(نام)قیمتیں('حسام')واپسیآئی ڈی؛

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

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

مثال 03:

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

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

آئیے SELECT سوال کا استعمال کرتے ہوئے ٹیبل کو دوبارہ چیک کریں:

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

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

مثال 04:

سیریل کالم فیلڈ کی ترتیب نمبر PostgreSQL میں ایک ٹیبل میں پایا جا سکتا ہے۔ طریقہ pg_get_serial_sequence () اس کو پورا کرنے کے لیے استعمال کیا جاتا ہے۔ ہمیں pg_get_serial_sequence () طریقہ کار کے ساتھ currval () فنکشن استعمال کرنا ہوگا۔ اس استفسار میں ، ہم pg_get_serial_sequence () فنکشن کے پیرامیٹرز میں ٹیبل کا نام اور اس کے SERIAL کالم کا نام فراہم کریں گے۔ جیسا کہ آپ دیکھ سکتے ہیں ، ہم نے ٹیبل ٹیسٹ اور کالم آئی ڈی کی وضاحت کی ہے۔ یہ طریقہ مندرجہ ذیل استفسار مثال میں استعمال کیا جاتا ہے۔

>>گھماؤ منتخب کریں۔(pg_get_serial_sequence('پرکھ'، 'آئی ڈی'))؛

یہ قابل غور ہے کہ ہمارا curvval () فنکشن ہمیں ترتیب کی سب سے حالیہ قدر نکالنے میں مدد کرتا ہے ، جو کہ 5 ہے۔ نیچے دی گئی تصویر اس بات کی مثال ہے کہ کارکردگی کیسی ہو سکتی ہے۔

نتیجہ:

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