开发者社区> 问答> 正文

在没有单独的CREATE TABLE的SELECT语句中创建临时表

是否可以通过select语句创建一个临时(仅会话)表,而无需使用create table语句并指定每个列类型?我知道派生表可以做到这一点,但是它们是超临时的(仅用于陈述),我想重用。

如果我不必编写create table命令并保持列列表和类型列表匹配,则可以节省时间。

展开
收起
保持可爱mmm 2020-05-11 10:35:49 772 0
1 条回答
写回答
取消 提交回答
  • CREATE TEMPORARY TABLE IF NOT EXISTS table2 AS (SELECT * FROM table1) 从位于http://dev.mysql.com/doc/refman/5.7/en/create-table.html的手册中

    您可以在创建表时使用TEMPORARY关键字。TEMPORARY表仅对当前会话可见,并且在关闭会话时会自动将其删除。这意味着两个不同的会话可以使用相同的临时表名称,而不会彼此冲突或与现有的具有相同名称的非TEMPORARY表冲突。(在删除临时表之前,现有表一直处于隐藏状态。)要创建临时表,您必须具有CREATE TEMPORARY TABLES特权。来源:stack overflow

    2020-05-11 10:36:00
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
对 2000 多亿条数据做一次 group by 需要多久? 立即下载
对2000多亿条数据做一次Group By 需要多久 立即下载
PolarDB NL2SQL: 帮助您写出准确、优化的SQL 立即下载