MySQL-এ বিদ্যমান টেবিলের কাঠামো (Structure) কপি করে নতুন টেবিল তৈরি করা
একটি টেবিলের কাঠামো (কলাম, ডেটা টাইপ, ইনডেক্স, কনস্ট্রেইন্ট ইত্যাদি) কপি করে নতুন একটি খালি টেবিল তৈরি করতে CREATE TABLE ... LIKE সিনট্যাক্স ব্যবহার করা হয়। ডেটা কপি হয় না, শুধু কাঠামো।
সিনট্যাক্স
CREATE TABLE newTableName LIKE oldTableName;
উদাহরণ
মূল টেবিল তৈরি
mysql> CREATE TABLE ShowCreateTableCommand (
-> Id INT NOT NULL AUTO_INCREMENT,
-> FirstName VARCHAR(20),
-> LastName VARCHAR(20),
-> Age INT,
-> TotalMarks INT,
-> PRIMARY KEY(Id)
-> );
টেবিল কাঠামো দেখানো (DESC)
mysql> DESC ShowCreateTableCommand;
+------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | FirstName | varchar(20) | YES | | NULL | | | LastName | varchar(20) | YES | | NULL | | | Age | int(11) | YES | | NULL | | | TotalMarks | int(11) | YES | | NULL | | +------------+-------------+------+-----+---------+----------------+
SHOW CREATE TABLE দিয়ে বিস্তারিত কাঠামো
mysql> SHOW CREATE TABLE ShowCreateTableCommand\G
*************************** 1. row *************************** Table: ShowCreateTableCommand Create Table: CREATE TABLE `showcreatetablecommand` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `FirstName` varchar(20) DEFAULT NULL, `LastName` varchar(20) DEFAULT NULL, `Age` int(11) DEFAULT NULL, `TotalMarks` int(11) DEFAULT NULL, PRIMARY KEY (`Id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
নতুন টেবিল তৈরি (LIKE ব্যবহার করে)
mysql> CREATE TABLE StudentInformationDemo LIKE ShowCreateTableCommand; Query OK, 0 rows affected (0.49 sec)
নতুন টেবিলের কাঠামো যাচাই
mysql> SHOW CREATE TABLE StudentInformationDemo\G
*************************** 1. row *************************** Table: StudentInformationDemo Create Table: CREATE TABLE `studentinformationdemo` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `FirstName` varchar(20) DEFAULT NULL, `LastName` varchar(20) DEFAULT NULL, `Age` int(11) DEFAULT NULL, `TotalMarks` int(11) DEFAULT NULL, PRIMARY KEY (`Id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
দুই টেবিলের কাঠামো একই হয়েছে। ডেটা কপি করতে হলে INSERT INTO newTable SELECT * FROM oldTable ব্যবহার করুন।