SQL দ্বারা আমরা এক টেবিলের তথ্য অন্য টেবিলে কপি করতে পারি। আপনি SQL SELECT INTO … SELECT স্টেটমেন্টটি ব্যবহার করে এক টেবিলের তথ্য পূর্ব থেকে বিদ্যমান অন্য একটি টেবিলে কপি করে রাখতে পারেন।
SQL SELECT INTO … SELECT স্টেটমেন্টটি এক টেবিল থেকে তথ্য কপি করে পূর্ব থেকে বিদ্যমান অন্য একটি টেবিলে জমা রাখে। এক্ষেত্রে টার্গেট টেবিলে বিদ্যমান কোনো সারি প্রভাবিত হবে না।
আপনি একটি টেবিলের সকল কলামকে কপি করে পূর্ব থেকে বিদ্যমান একটি টেবিলের মধ্যে রাখতে পারেনঃ
INSERT INTO data_table
SELECT * FROM target_table;
অথবা আপনি আপনার ইচ্ছামত কলাম কপি করে পূর্ব থেকে বিদ্যমান টেবিলে রাখতে পারেনঃ
INSERT INTO data_table
(name_of_column)
SELECT name_of_column
FROM target_table;
SELECT DISTINCT স্টেটমেন্টের ব্যবহার দেখার জন্য আমরা আমাদের নমুনা ডেটাবেজ Student ব্যবহার করবো।
নিচের অংশটি "Student_details" টেবিল থেকে নেওয়া হয়েছেঃ
আইডি নং | রোল নাম্বার | শিক্ষার্থীর নাম | প্রতিষ্ঠানের নাম | ঠিকানা |
---|---|---|---|---|
১ | ১০১ | তামজীদ হাসান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
২ | ১০২ | মিনহাজুর রহমান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৩ | ১০৩ | মোঃ সবুজ হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৪ | ১০৪ | ইয়াসিন হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৫ | ১০৫ | ফরহাদ উদ্দিন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
নিচের অংশটি "Teacher_details" টেবিল থেকে নেওয়াঃ
আইডি নং | শিক্ষকের নাম | ঠিকানা |
---|---|---|
১ | মোঃ সাইফুল ইসলাম | ঢাকা |
২ | ডঃ নিতাই কুমার শাহা | রাজশাহী |
৩ | মোঃ আবুল কালাম আজাদ | চাঁদপুর |
৪ | রূপক রায় | চাঁদপুর |
৫ | নাদিমা আক্তার | ঢাকা |
"Teacher_details" টেবিল থেকে কিছু কলামের তথ্য কপি করে "Student_details" টেবিলে রাখিঃ
INSERT INTO Student_details (Student_name, Address)
SELECT Teacher_name, Address FROM Teacher_details;
শুধুমাত্র "ঢাকা" ঠিকানার(Address) অন্তর্ভুক্ত শিক্ষকের তথ্য কপি করে "Student_details" টেবিলে রাখিঃ
INSERT INTO Student_details (Student_name, Address)
SELECT Teacher_name, Address FROM Teacher_details
WHERE Address="ঢাকা";