ایس کیو ایل میں ٹیبل کاپی کریں۔

Ays Kyw Ayl My Ybl Kapy Kry



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

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







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



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



طریقہ 1: عالمی (کریٹ ٹیبل بیان کا استعمال کرتے ہوئے)

ٹیبل کو کاپی کرنے کا سب سے عام اور آسان طریقہ CREATE TABLE سٹیٹمنٹ استعمال کرنا ہے۔





عام CREATE TABLE سٹیٹمنٹ کے برعکس، ہم ایک SELECT سٹیٹمنٹ پاس کرتے ہیں جس میں سورس ٹیبل کا ڈھانچہ اور ڈیٹا ہوتا ہے۔

نحو درج ذیل ہے:



ٹیبل نئی_ٹیبل AS بنائیں
منتخب کریں۔ * FROM source_table;

یہ ہمیں سورس ٹیبل سے مخصوص نام کے ساتھ ایک نیا ٹیبل بنانے کی اجازت دیتا ہے۔

مثال کے طور پر سکیلا کے نمونے کے ڈیٹا بیس کو لے لیں۔ فرض کریں کہ ہم رینٹل ٹیبل جیسا ٹیبل بنانا چاہتے ہیں۔

ہم پچھلی تکنیک کو استعمال کر سکتے ہیں جیسا کہ مندرجہ ذیل مثال کے سوال میں دکھایا گیا ہے:

ٹیبل کرایہ_کاپی AS بنائیں
منتخب کریں۔ * کرایہ سے

اس سے 'رینٹل_کاپی' نامی ایک نیا ٹیبل بننا چاہیے جس میں وہی ڈھانچہ اور ڈیٹا شامل ہو جو رینٹل ٹیبل میں ہے۔

آپ مندرجہ ذیل ٹیبل سے ڈیٹا کو منتخب کر کے تصدیق کر سکتے ہیں:

منتخب کریں۔ * کرایہ_کاپی سے؛

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

طریقہ 2: عالمی (INSERT INTO بیان کا استعمال کرتے ہوئے)

ایک اور طریقہ جو عالمی سطح پر SQL ڈیٹا بیس کی وسیع اقسام کے ذریعے تعاون یافتہ ہے وہ ہے INSERT INTO بیان کا استعمال۔

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

یہ اس وقت کام آتا ہے جب ہمیں کاپی کرنے کے عمل میں مزید کنٹرول کی ضرورت ہوتی ہے۔ ہم نحو کو استعمال کر سکتے ہیں جیسا کہ درج ذیل میں دکھایا گیا ہے۔

ہدف_ٹیبل میں داخل کریں۔ ( کالم 1، کالم 2، ... )
کالم 1، کالم 2، ... کو منتخب کریں
FROM source_table;

اس صورت میں، ہم اصل ٹیبل سے سب کچھ حاصل کیے بغیر ان کالموں کی وضاحت کر سکتے ہیں جنہیں ہم نئے ٹیبل میں شامل کرنا چاہتے ہیں۔

مثال کے طور پر درج ذیل استفسار کو لیں:

داخل کریں۔
INTO
رینٹل_کاپی ( رینٹل_آئی ڈی،
رینٹل_تاریخ،
واپسی کی تاریخ )
منتخب کریں۔
رینٹل_آئی ڈی،
رینٹل_تاریخ،
واپسی کی تاریخ
سے
رینٹل r;

اس طریقہ کار کی ایک خرابی یہ ہے کہ اس میں آپ کو کالموں کے ساتھ ملتی جلتی ٹیبل بنانے کی ضرورت پڑ سکتی ہے جسے آپ شامل کرنا چاہتے ہیں۔ بڑے ڈیٹا سیٹ کے ساتھ کام کرتے وقت یہ بار بار اور موثر ہو سکتا ہے۔

طریقہ 3: ٹیبل کی ساخت کو کاپی کریں۔

دوسری صورتوں میں، آپ کو ایسی مثالیں مل سکتی ہیں جہاں آپ ٹیبل میں ذخیرہ شدہ ڈیٹا کی ضرورت کے بغیر ٹیبل کے ڈھانچے میں دلچسپی رکھتے ہوں۔

ایسی صورت میں، آپ CREATE TABLE سٹیٹمنٹ کو LIKE کی شق کے ساتھ مل کر اس طرح استعمال کر سکتے ہیں:

ٹیبل نئی_ٹیبل بنائیں ( LIKE source_table ) ;

اس کو مخصوص نام کے ساتھ ایک نیا ٹیبل بنانا چاہیے اور ڈیٹا کو اصل میں کاپی کیے بغیر 'source_table' جیسا ڈھانچہ بنانا چاہیے۔

ڈیٹا بیس کے درمیان میزیں کاپی کرنا

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

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

طریقہ 4: لنکڈ سرورز (SQL سرور) کا استعمال

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

لنکڈ سرورز ہمیں ایک ریموٹ ڈیٹا بیس سے کنکشن قائم کرنے اور ان کے درمیان ڈیٹا کو پوچھنے یا منتقل کرنے کی اجازت دیتے ہیں۔

نحو درج ذیل ہے:

داخل کریں [ LinkedServerName ] . [ ڈیٹا بیس کا نام ] . [ اسکیما کا نام ] . [ ہدف_ٹیبل ]
منتخب کریں۔ * FROM source_table;

یہ ریموٹ کنکشن اور ریموٹ سرورز کے درمیان ڈیٹا کی منتقلی کو قابل بناتا ہے۔

نتیجہ

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