【问题标题】:Using "AS" in MySQL - not as aliases在 MySQL 中使用“AS”——不是别名
【发布时间】:2010-03-18 16:03:02
【问题描述】:

当我看到以下内容时,我有点惊讶:

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

我试图用谷歌搜索它,但只发现使用它作为别名。这个用途究竟是什么?我有点困惑,因为我愚蠢地创建了临时表,然后使用 insert 填充它..

谢谢

【问题讨论】:

    标签: mysql temp-tables


    【解决方案1】:

    这是您创建临时表并使用选择查询的结果填充它的方式。

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

    选择语句:
    [忽略 | REPLACE] [AS] SELECT ...(一些合法的选择语句)

    【讨论】:

      【解决方案2】:

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

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

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

      insert into x (col1) select col1 from y;
      

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-03-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-06-08
          • 2011-10-17
          • 1970-01-01
          相关资源
          最近更新 更多