Sử dụng CREATE TABLE ... LIKE sao chép cấu trúc + index, sau đó INSERT ... SELECT sao chép dữ liệu.
Ví dụ clone bảng student
Bảng gốc:
mysql> DESC student; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | id | int(11) | YES | MUL | NULL | | | Name | varchar(100) | YES | MUL | NULL | | +-------+--------------+------+-----+---------+-------+ mysql> SELECT * FROM student; +------+------+ | id | Name | +------+------+ | 1 | John | | 2 | Bob | +------+------+
Clone
mysql> CREATE TABLE cloneStudent LIKE student; Query OK, 0 rows affected (1.57 sec) mysql> INSERT INTO cloneStudent SELECT * FROM student; Query OK, 2 rows affected (0.60 sec)
Kiểm tra
Cấu trúc (index giữ nguyên):
mysql> DESC cloneStudent; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | id | int(11) | YES | MUL | NULL | | | Name | varchar(100) | YES | MUL | NULL | | +-------+--------------+------+-----+---------+-------+
Dữ liệu:
mysql> SELECT * FROM cloneStudent; +------+------+ | id | Name | +------+------+ | 1 | John | | 2 | Bob | +------+------+
Lưu ý: LIKE không sao chép DATA DIRECTORY, INDEX DIRECTORY, khóa ngoại (foreign keys), trigger, partition. Chỉ sao chép định nghĩa cột, index, engine, collation.