在開發或維護過程中,常需快速備份資料表結構與資料。本文整理三種複製結構、兩種複製結構+資料的常用技巧,並說明各方法優缺點與適用場景。
CREATE TABLE ... LIKE(推薦)CREATE TABLE new_tbl LIKE old_tbl;
CREATE TABLE ... SELECT ... LIMIT 0CREATE TABLE new_tbl SELECT * FROM old_tbl LIMIT 0;
SHOW CREATE TABLE 手動調整SHOW CREATE TABLE old_tbl\G
CREATE TABLE ... SELECT *(全量複製)CREATE TABLE new_tbl SELECT * FROM old_tbl;
CREATE TABLE ... SELECT 指定欄位 WHERE 條件(彈性複製)CREATE TABLE new_tbl SELECT col1, col2 FROM old_tbl WHERE id > 100;
INSERT ... SELECT(標準做法)CREATE TABLE new_tbl LIKE old_tbl; INSERT INTO new_tbl SELECT * FROM old_tbl;
| 需求 | 推薦方法 |
|---|---|
| 快速備份結構(含索引) | CREATE TABLE ... LIKE |
| 需調整結構再建立 | SHOW CREATE TABLE 手動修改 |
| 臨時測試資料、不需索引 | CREATE TABLE ... SELECT * |
| 正式環境完整備份 | LIKE + INSERT SELECT |