> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> 创建临时表的说明文档

# CREATE TEMPORARY TABLE

<div id="temporary-table-support">
  ## 临时表支持
</div>

<Note>
  请注意，临时表不会被复制。因此，无法保证插入临时表的数据在其他副本中可用。临时表的主要用例是在单个会话内查询或连接小型外部数据集。
</Note>

ClickHouse 支持临时表，具有以下特性：

* 临时表会在会话结束时消失，连接断开时也同样如此。
* 未指定引擎时，临时表使用 Memory 表引擎；也可以使用除 Replicated 和 `KeeperMap` 外的任何表引擎。
* 临时表不能指定 DB，而是在数据库之外创建。
* 无法通过分布式 DDL 查询在集群中的所有服务器上创建临时表 (即使用 `ON CLUSTER`) ：该表仅存在于当前会话中。
* 如果临时表与另一张表同名，且查询中仅指定表名而未指定 DB，则会使用临时表。
* 在分布式查询处理中，查询中使用的 Memory 引擎临时表会传递到远程服务器。

<div id="syntax">
  ## 语法
</div>

要创建临时表，请使用以下语法：

```sql theme={null}
CREATE [OR REPLACE] TEMPORARY TABLE [IF NOT EXISTS] table_name
(
    name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
    name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],
    ...
) [ENGINE = engine]
```

大多数情况下，临时表并非手动创建，而是在查询使用外部数据或执行分布式 `(GLOBAL) IN` 时创建。有关更多信息，请参阅相应章节。

也可以使用 [ENGINE = Memory](/docs/zh/reference/engines/table-engines/special/memory) 的表来替代临时表。
