> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Cómo usar el comando EXCHANGE para intercambiar tablas

> Cómo usar el comando EXCHANGE para intercambiar tablas

{frontMatter.description}

***

<div id="question">
  ## Pregunta
</div>

¿Cómo uso el comando [`EXCHANGE`](/es/reference/statements/exchange) para intercambiar los nombres de las tablas?

<div id="answer">
  ## Respuesta
</div>

El comando `EXCHANGE` es útil cuando necesitas intercambiar una tabla actual por otra tabla temporal en la que posiblemente se hayan actualizado las claves primarias u otras configuraciones.
Esto se realiza de forma atómica, a diferencia del comando `RENAME`.
También es útil cuando tienes vistas materializadas que se activan sobre una tabla de origen y quieres evitar reconstruir la vista.

A continuación se muestra un ejemplo sencillo de cómo funciona y cómo probarlo:

* Crear una base de datos de ejemplo

```sql theme={null}
create database db1;
```

* Crear una tabla de ejemplo

```sql theme={null}
create table db1.table1_exchange
(
 id Int32,
 string_field String
)
engine = MergeTree()
order by id;
```

* Insertar una fila de ejemplo

```sql theme={null}
insert into db1.table1_exchange
values
(1, 'a');
```

* Cree una tabla temporal de ejemplo que luego se intercambiará

```sql theme={null}
create table db1.table1_exchange_temp
(
 id Int32,
 string_field String
)
engine = MergeTree()
order by id;
```

* Insertar una fila de ejemplo en la tabla temporal

```sql theme={null}
insert into db1.table1_exchange_temp
values
(2, 'b');
```

* Ejecuta el comando `EXCHANGE` para intercambiar las tablas

```sql theme={null}
exchange tables db1.table1_exchange and db1.table1_exchange_temp;
```

* Compruebe que ahora las tablas se han intercambiado y que las filas han cambiado de lugar

```sql theme={null}
select * from db1.table1_exchange;
```

```text theme={null}
┌─id─┬─string_field─┐
│  2 │ b            │
└────┴──────────────┘

1 row in set. Elapsed: 0.002 sec. 
```
