SQLServer/Oracle根据查询结果集创建新表
SQLServer
1、创建新表并复制旧表结构和数据
SELECT * INTO table_new FROM table_old;
2、创建新表并复制旧表部分结构和部分数据
SELECT * INTO table_new FROM (SELECT c1,c2,c3 FROM table_old WHERE 1=1) T;
3、创建新表并只复制旧表结构
SELECT * INTO table_new FROM (SELECT * FROM table_old WHERE 1=2) T;
Oralce
1、创建新表并复制旧表结构和数据
CREATE TABLE table_new AS SELECT * FROM table_old;
2、创建新表并复制旧表部分结构和部分数据
CREATE TABLE table_new AS SELECT c1, c2, c3, c4 FROM table_old;
3、创建新表并复制旧表结构和数据后重新指定新表列名
CREATE TABLE table_new (c1,c2,c3,c4) AS SELECT c5, c6, c7, c8 FROM table_old;
4、创建新表并只复制旧表结构
CREATE TABLE table_new AS SELECT * FROM table_old WHERE 1=2;
MySQL
1、创建新表并复制旧表结构和数据
CREATE TABLE table_new (SELECT * FROM table_old);
2、创建新表并复制旧表部分结构和部分数据
CREATE TABLE table_new (SELECT c1,c2,c3 FROM table_old WHERE 1=1);
3、创建新表并只复制旧表结构
CREATE TABLE table_new (SELECT * FROM table_old WHERE 1=2);