在MySQL中使用“AS” - 而不是别名

时间:2010-03-18 16:03:03

标签: mysql temp-tables

当我看到以下内容时,我有点意外:

CREATE TEMPORARY TABLE X (ID int) AS SELECT NumColumn FROM Table

我试图谷歌它,但只发现使用它作为alieases。这个用途实际上是什么?我感到有点困惑,因为我愚蠢地创建临时表,然后使用插入填充它..

谢谢

3 个答案:

答案 0 :(得分:3)

如何创建临时表并使用选择查询的结果填充它。

您可以在CREATE TABLE规范的最底部看到它in the documentation

  

select_statement中:
      [IGNORE | REPLACE] [AS] SELECT ...(一些合法的选择陈述)

答案 1 :(得分:1)

这将为您创建一个临时表,但请记住,这不会带来您在原始表上的任何索引。出于这个原因,有时可能更好地使用

创建表定义的完整副本
create table x like y; 

由于这只会创建一个EMPTY表,您还需要运行

insert into x (col1) select col1 from y;

答案 2 :(得分:1)

CREATE TABLE (table name) AS SELECT * FROM (existing table name);

此命令用于将整个表复制到另一个表中;