首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 基礎 SQL:表結構與數據快速複製技巧

     編輯:MySQL 綜合教學

MySQL 基礎 SQL:表結構與數據快速複製技巧

日常開發運維中,頻繁需要基於現有表創建新表。MySQL 提供極簡語法實現結構與數據的靈活複製。

場景一:僅複製表結構(無數據)

CREATE TABLE new_table SELECT * FROM old_table WHERE 1=2;

利用 WHERE 1=2 永假條件,MySQL 僅解析 SELECT 列定義創建表結構,不執行數據複製。

場景二:複製表結構與所有數據

CREATE TABLE new_table SELECT * FROM old_table;

完整複製列定義與數據行,新表即刻可用。

進階:完整克隆(含索引、約束、引擎屬性)

上述方法不複製主鍵、索引、外鍵、觸發器、分區等對象。完整克隆需兩步:

CREATE TABLE new_table LIKE old_table;   -- 複製完整結構定義
INSERT INTO new_table SELECT * FROM old_table;  -- 複製數據

常見陷阱與建議

  • 大表操作:鎖表風險大,建議低峰期執行或使用 pt-online-schema-change 類工具。
  • 自增主鍵:CREATE TABLE ... SELECT 不保留 AUTO_INCREMENT 屬性,需手動 ALTER TABLE 修正。
  • 字符集/排序規則:複製表默認繼承會話/庫級設置,跨庫複製時顯式指定 DEFAULT CHARSET。

掌握這三種複製模式,覆蓋 90% 的表複製場景,提升運維效率。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved