有兩種方式通過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;