কম্পিউটার টিউটোরিয়াল

MySQL ক্লোন টেবিল তৈরি করা

কখনও কখনও টেবিলের এক্সাক্ট কপি (ইন্ডেক্স, ডিফল্ট ভ্যালু সহ) প্রয়োজন হয়। CREATE TABLE ... SELECT সেটা পুরা করতে পারে না। ক্লোন টেবিল তৈরির ধাপগুলো:

  1. SHOW CREATE TABLE দিয়ে সোর্স টেবিলের সম্পূর্ণ স্ট্রাকচার (ইন্ডেক্স সহ) পান।
  2. স্টেটমেন্টে টেবিলের নাম পরিবর্তন করে ক্লোন টেবিলের 이름으로 এক্সিকিউট করুন।
  3. (অপশনাল) ডেটা কপি করতে চাইলে INSERT INTO ... SELECT ব্যবহার করুন।

উদাহরণ: tutorials_tbl ক্লোন করা

ধাপ ১: টেবিল স্ট্রাকচার পান

mysql> SHOW CREATE TABLE tutorials_tbl \G;
*************************** 1. row ***************************
Table: tutorials_tbl
Create Table: CREATE TABLE `tutorials_tbl` (
    `tutorial_id` int(11) NOT NULL auto_increment,
    `tutorial_title` varchar(100) NOT NULL default '',
    `tutorial_author` varchar(40) NOT NULL default '',
    `submission_date` date default NULL,
    PRIMARY KEY (`tutorial_id`),
    UNIQUE KEY `AUTHOR_INDEX` (`tutorial_author`)
) TYPE = MyISAM

ধাপ ২: নতুন টেবিল তৈরি করুন

mysql> CREATE TABLE clone_tbl (
    ->     tutorial_id int(11) NOT NULL auto_increment,
    ->     tutorial_title varchar(100) NOT NULL default '',
    ->     tutorial_author varchar(40) NOT NULL default '',
    ->     submission_date date default NULL,
    ->     PRIMARY KEY (tutorial_id),
    ->     UNIQUE KEY AUTHOR_INDEX (tutorial_author)
    -> ) TYPE = MyISAM;
Query OK, 0 rows affected (1.80 sec)

ধাপ ৩: ডেটা কপি করুন

mysql> INSERT INTO clone_tbl (tutorial_id, tutorial_title, tutorial_author, submission_date)
    -> SELECT tutorial_id, tutorial_title, tutorial_author, submission_date
    -> FROM tutorials_tbl;
Query OK, 3 rows affected (0.07 sec)

এখন আপনার কাছে স্ট্রাকচার ও ডেটা সহ এক্সাক্ট ক্লোন টেবিল আছে।

  1. MySQL-এ কম্পাউন্ড ইউনিক কনস্ট্রেইন্ট প্রয়োগ

  2. MySQL-এ টেবিলের কাঠামো ক্লোন করা

  3. MySQL-এ VIEW থেকে টেবিল তৈরি করা (CREATE TABLE ... SELECT)

  4. MySQL-ে ইনডেক্সসহ টেবিল তৈরি করা (CREATE INDEX)