【发布时间】:2010-03-18 16:03:02
【问题描述】:
当我看到以下内容时,我有点惊讶:
CREATE TEMPORARY TABLE X (ID int) AS SELECT NumColumn FROM Table
我试图用谷歌搜索它,但只发现使用它作为别名。这个用途究竟是什么?我有点困惑,因为我愚蠢地创建了临时表,然后使用 insert 填充它..
谢谢
【问题讨论】:
标签: mysql temp-tables
当我看到以下内容时,我有点惊讶:
CREATE TEMPORARY TABLE X (ID int) AS SELECT NumColumn FROM Table
我试图用谷歌搜索它,但只发现使用它作为别名。这个用途究竟是什么?我有点困惑,因为我愚蠢地创建了临时表,然后使用 insert 填充它..
谢谢
【问题讨论】:
标签: mysql temp-tables
这是您创建临时表并使用选择查询的结果填充它的方式。
您可以在 CREATE TABLE 规范的最底部看到它in the documentation
选择语句:
[忽略 | REPLACE] [AS] SELECT ...(一些合法的选择语句)
【讨论】:
这将为您创建一个临时表,但请记住,这不会带来您在原始表上的任何索引。因此,有时最好使用
创建表定义的完整副本create table x like y;
由于这只会创建一个 EMPTY 表,因此您还需要运行
insert into x (col1) select col1 from y;
【讨论】:
CREATE TABLE (table name) AS SELECT * FROM (existing table name);
此命令用于将整个表复制到另一个表中;
【讨论】: