有两种方式通过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;