Mysql複製表結構、表數據的方法

1、複製表結構及數據到新表(不包含主鍵、索引、分區等)

CREATE TABLE 新表 SELECT * FROM 舊錶

或 CREATE TABLE 新表 AS SELECT * FROM 舊錶

這種方法將舊錶基本結構和數據複製到新表。

不過這種方法的一個最不好的地方就是新表中沒有了舊錶的主鍵、索引、Extra(auto_increment,字符集編碼及排序)、註釋、分區等屬性 以及觸發器、外鍵等。

2、只複製表結構到新表

CREATE TABLE 新表 SELECT * FROM 舊錶 WHERE 1=2 (只是第一種方式去除掉數據)


CREATE TABLE 新表 LIKE 舊錶

這種方式的複製可以複製舊錶的主鍵、索引、Extra(auto_increment,字符集編碼及排序)、註釋、分區等屬性。但是不包含觸發器、外鍵等

3、複製舊錶的數據到新表

INSERT INTO 新表 SELECT * FROM 舊錶

INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 舊錶

上面兩條語句的前提是新表已經存在

4、複製表結構及數據到新表(包含主鍵、索引、分區等)

結合上述第2、3點,即:

先 CREATE TABLE 新表 LIKE 舊錶

然後 INSERT INTO 新表 SELECT * FROM 舊錶

5、可以將表1結構複製到表2(mysql不支持)

SELECT * INTO 表2 FROM 表1 WHERE 1=2

6、可以將表1內容全部複製到表2(mysql不支持)

SELECT * INTO 表2 FROM 表1

7、 show create table 舊錶;

這樣會將舊錶的創建命令列出。我們只需要將該命令拷貝出來,更改table的名字,就可以建立一個完全一樣的表

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章