1.Oracle
1.复制表结构以及数据
create table d_table_name as select * from s_table_name;
—注意并不会创建索引
2.只复制表结构
create table d_table_name as select * from s_table_name where 1=2;
3.只复制数据
(1)、两个表结构一样
insert into d_table_name select * from s_table_name;
(2)、两个表的结构不一样,只复制部分列
insert into d_table_name (字段1,字段2,字段3) select 字段1x,字段2x,字段3x from s_table_name;
2.MySQL
1.只复制表结构到新表
CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2
或者
CREATE TABLE 新表 LIKE 旧表
2.复制表结构及数据到新表
CREATE TABLE 新表 SELECT * FROM 旧表
3- .复制旧表的数据到新表(假设两个表结构一样)
INSERT INTO 新表 SELECT * FROM 旧表
4.复制旧表的数据到新表(假设两个表结构不一样)
INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 旧表
3.SqlServer 复制表结构和表数据
1.复制表数据到已存在的表
INSERT INTO targetTableName SELECT COLUMNS FROM sourceTableName;
2.复制表结构和数据到新建表
selectcolumns newTableName from sourceTableName where whereExpression ;
注意:该语句只能复制表的结构。该语句不会创建和复制源相同的主键、索引、约束和触发器。
作者:Hi哈娃娃
链接:https://www.jianshu.com/p/f1f9ea78593e