備份MySQL表

有兩種方式通過SQL備份表

1.使用CREATE TABLE XXXXX LIKE (推薦使用)

先創建表結構

create table ACT_GE_BYTEARRAY_bak0609 like  ACT_GE_BYTEARRAY; 

然後插入sql數據 

insert into ACT_GE_BYTEARRAY_bak0609 select * from ACT_GE_BYTEARRAY;

 

2.使用CREATE TABLE XXXXX AS SELECT (不推薦使用)

create table ACT_GE_BYTEARRAY_bak0611 as  select * from ACT_GE_BYTEARRAY; 


推薦使用第一種,不推薦使用第二種。原因如下:

1.CREATE TABLE XXXXX LIKE是創建與源表一模一樣的表結構,包括索引約束,可是不copy數據。需要結合insert。

create table ACT_GE_BYTEARRAY_bak0609 like ACT_GE_BYTEARRAY;

2.CREATE TABLE XXXXX AS SELECT 創建的表結構沒有索引約束,但是有一模一樣的表數據

測試如下圖:

源表結構:

第一種方式創建的表結構:(如果沒有與insert一起使用就是空表,光有表結構)

第二種方式創建的表:(沒有索引約束,數據與源表一致)

 

 

所以結論就是,不用問爲什麼!拿起鍵盤就是幹!!!!

create table ACT_GE_BYTEARRAY_bak0609 like ACT_GE_BYTEARRAY;

insert into ACT_GE_BYTEARRAY_bak0609 select * from ACT_GE_BYTEARRAY;

 

 

 


 

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