INSERT INTO ... SELECT ব্যবহার করে এক টেবিল থেকে ডেটা অন্য টেবিলে কপি করা যায়। এখানে GROUP_CONCAT() ব্যবহার করে একাধিক নাম একসাথে একটি কলামে সংযুক্ত করা হয়েছে।
প্রথম টেবিল তৈরি ও ডেটা
mysql> create table DemoTable1(Name varchar(100)); Query OK, 0 rows affected (0.55 sec)
mysql> insert into DemoTable1 values('Chris');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1 values('Robert');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1 values('Adam');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1 values('Bob');
Query OK, 1 row affected (0.20 sec)
mysql> select * from DemoTable1;
আউটপুট:
+--------+ | Name | +--------+ | Chris | | Robert | | Adam | | Bob | +--------+ 4 rows in set (0.00 sec)
দ্বিতীয় টেবিল তৈরি
mysql> create table DemoTable2(ListOfEmployee text); Query OK, 0 rows affected (0.59 sec)
INSERT INTO SELECT দিয়ে কপি করা
mysql> insert into DemoTable2(ListOfEmployee) select GROUP_CONCAT(Name) from DemoTable1; Query OK, 1 row affected (0.20 sec) Records: 1 Duplicates: 0 Warnings: 0
ফলাফল
mysql> select * from DemoTable2;
আউটপুট:
+-----------------------+ | ListOfEmployee | +-----------------------+ | Chris,Robert,Adam,Bob | +-----------------------+ 1 row in set (0.00 sec)
দ্রষ্টব্য
GROUP_CONCATডিফল্টভাবে কমা (,) দিয়ে যোড় করে;SEPARATORদিয়ে পরিবর্তন করা যায়।- ম্যাক্সিমাম দৈর্ঘ্য
group_concat_max_lenসিস্টেম ভেরিয়েবল দ্বারা নিয়ন্ত্রিত (ডিফল্ট ১০২৪ বাইট)। - সাধারণত নরমালাইজড ডিজাইন সুপারিশ করা হয়; ডিনরমালাইজেশন নির্দিষ্ট কেসে।