Để tạo bảng mới giống hệt bảng cũ kèm dữ liệu, trigger, index, cần chạy 2 câu lệnh:
CREATE TABLE new_table LIKE old_table; INSERT new_table SELECT * FROM old_table;
Ví dụ
mysql> CREATE TABLE employee(ID INT PRIMARY KEY NOT NULL AUTO_INCREMENT, NAME VARCHAR(20));
Query OK, 0 rows affected (0.21 sec)
mysql> INSERT INTO employee(name) VALUES('Gaurav'),('Raman');
Query OK, 2 rows affected (0.07 sec)
mysql> SELECT * FROM employee;
+----+--------+
| ID | NAME |
+----+--------+
| 1 | Gaurav |
| 2 | Raman |
+----+--------+
2 rows in set (0.00 sec)
mysql> CREATE TABLE employee1 LIKE employee;
Query OK, 0 rows affected (0.19 sec)
mysql> DESCRIBE employee1;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| NAME | varchar(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.14 sec)
mysql> INSERT INTO employee1 SELECT * FROM employee;
Query OK, 2 rows affected (0.09 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM employee1;
+----+--------+
| ID | NAME |
+----+--------+
| 1 | Gaurav |
| 2 | Raman |
+----+--------+
2 rows in set (0.00 sec)
Cách này clone được cấu trúc, dữ liệu, trigger, index.