MySQL-এ INSERT INTO SELECT স্টেটমেন্ট ব্যবহার করে একটি টেবিল থেকে অন্য টেবিলে সারি সরানো যায়।
সিনট্যাক্স:
insert into yourDestinationTableName select *from yourOriginalTable where someCondition
উদাহরণ হিসেবে দুটি টেবিল তৈরি করা যাক:
mysql> create table StudentTable -> ( -> Id int, -> Name varchar(100) -> ); Query OK, 0 rows affected (0.65 sec)
দ্বিতীয় টেবিল:
mysql> create table Employee -> ( -> EmployeeId int -> , -> EmployeeName varchar(100) -> ); Query OK, 0 rows affected (0.54 sec)
Employee টেবিলে কিছু রেকর্ড ইনসার্ট করুন:
mysql> insert into Employee values(1,'Carol'); Query OK, 1 row affected (0.18 sec) mysql> insert into Employee values(2,'John'); Query OK, 1 row affected (0.16 sec) mysql> insert into Employee values(3,'Johnson'); Query OK, 1 row affected (0.11 sec)
Employee টেবিলের সব রেকর্ড দেখান:
mysql> select *from Employee;
আউটপুট:
+------------+--------------+ | EmployeeId | EmployeeName | +------------+--------------+ | 1 | Carol | | 2 | John | | 3 | Johnson | +------------+--------------+ 3 rows in set (0.00 sec)
এখন EmployeeId = 3 এবং EmployeeName = 'Johnson' শর্তানুযায়ী সারি StudentTable-এ সরান:
mysql> insert into StudentTable select *from Employee where EmployeeId = 3 and EmployeeName = 'Johnson'; Query OK, 1 row affected (0.17 sec) Records: 1 Duplicates: 0 Warnings: 0
StudentTable-এ সারি যুক্ত হয়েছে কিনা চেক করুন:
mysql> select *from StudentTable;
আউটপুট:
+------+---------+ | Id | Name | +------+---------+ | 3 | Johnson | +------+---------+ 1 row in set (0.00 sec)
সব সারি সরাতে চাইলে WHERE শর্ত বাদ দিন:
mysql> insert into StudentTable select *from Employee; Query OK, 3 rows affected (0.15 sec) Records: 3 Duplicates: 0 Warnings: 0
আপডেট করা StudentTable দেখান:
mysql> select *from StudentTable;
আউটপুট:
+------+---------+ | Id | Name | +------+---------+ | 1 | Carol | | 2 | John | | 3 | Johnson | +------+---------+ 3 rows in set (0.00 sec)