

# Renomear colunas
<a name="updates-renaming-columns"></a>

Talvez você queira renomear colunas em suas tabelas para corrigir ortografia, tornar os nomes das colunas mais descritivos ou reutilizar uma coluna existente para evitar a reclassificação dela.

Você pode renomear colunas se armazenar seus dados em CSV e TSV, ou em Parquet e ORC, que são configurados para leitura por índice. Para mais informações, consulte [Noções básicas do acesso ao índice para Apache ORC e Apache Parquet](handling-schema-updates-chapter.md#index-access). 

O Athena lê os dados em CSV e TSV na ordem das colunas no esquema e os retorna na mesma ordem. Ele não usa os nomes de coluna para mapear os dados para uma coluna. É por esse motivo que você pode renomear as colunas em CSV ou TSV sem interromper as consultas do Athena. 

Uma estratégia para renomear colunas é criar uma tabela com base nos mesmos dados subjacentes, mas usando novos nomes de coluna. O exemplo a seguir cria uma tabela `orders_parquet` chamada `orders_parquet_column_renamed`. O exemplo altera o nome da coluna ``o_totalprice`` para ``o_total_price`` e executa uma consulta no Athena: 

```
CREATE EXTERNAL TABLE orders_parquet_column_renamed (
   `o_orderkey` int, 
   `o_custkey` int, 
   `o_orderstatus` string, 
   `o_total_price` double, 
   `o_orderdate` string, 
   `o_orderpriority` string, 
   `o_clerk` string, 
   `o_shippriority` int, 
   `o_comment` string
) 
STORED AS PARQUET
LOCATION 's3://amzn-s3-demo-bucket/orders_parquet/';
```

No caso da tabela do Parquet, a consulta a seguir é executada. No entanto, a coluna renomeada não exibe dados, porque ela estava sendo acessada por nome (um padrão no Parquet) em vez de por índice:

```
SELECT * 
FROM orders_parquet_column_renamed;
```

Uma consulta com uma tabela em CSV tem aparência semelhante:

```
CREATE EXTERNAL TABLE orders_csv_column_renamed (
   `o_orderkey` int, 
   `o_custkey` int, 
   `o_orderstatus` string, 
   `o_total_price` double, 
   `o_orderdate` string, 
   `o_orderpriority` string, 
   `o_clerk` string, 
   `o_shippriority` int, 
   `o_comment` string
) 
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION 's3://amzn-s3-demo-bucket/orders_csv/';
```

No caso da tabela CSV, a consulta a seguir é executada, e os dados são exibidos em todas as colunas, incluindo aquela que foi renomeada:

```
SELECT * 
FROM orders_csv_column_renamed;
```