1、首先基于 SE雉搽妤粲LECT结果集创建一张新的数据库表, 语法为:CREATE TABLE NEW_TABLE_NAME AS SELECT COL1,COL2荑樊综鲶, COL3 FROM OLD_TABLE_NAME;运行上述语句,我们会基于 OLD_TABLE_NAME 的 COL1,COL2, COL3 列创建新的数据库表 NEW_TABLE_NAME,新表中具体包含旧表的哪些列,我们可以指定,如果想包含旧表的所有列,就使用 SELECT * FROM OLD_TABLE_NAME 即可。MySQL 和 Oracle 数据库均可通过上述语句基于结果集创建新表(图示)。
2、在上述演示中,我们可以看到,创建的新表直接就包含了旧表中的所有select操作查询畛粳棠奈获取的数据。如果我们只是想创建一张和旧表表结构一样的新表,但不窄忾行崦包含或只包含我们指定的数据,那如何操作呢?不包含任何数据的操作:CREATE TABLE NEW_TABLE_NAME AS SELECT COL1,COL2, COL3 FROM OLD_TABLE_NAME WHERE 1 != 1;包含我们指定的数据的操作:CREATE TABLE NEW_TABLE_NAME AS SELECT COL1,COL2, COL3 FROM OLD_TABLE_NAME WHERE 你的查询条件;
3、总结:通过结果集创建新表的命令格式为: cteate table 新表名 as select 所需列名(所有列则使用 * ) from 旧表名 where查询条件MySQL 和 Oracle 数据库均支持这种命令形式。