

# Adicionar colunas no início ou no meio da tabela
<a name="updates-add-columns-beginning-middle-of-table"></a>

A adição de colunas é uma das alterações do esquema mais frequentes. Por exemplo, você pode adicionar uma nova coluna para enriquecer a tabela com novos dados. Ou você poderá adicionar uma nova coluna se a origem para uma coluna existente for alterada e manter a versão anterior deste coluna para ajustar os aplicativos que dependem delas.

Para adicionar colunas no início ou no meio da tabela e continuar executando consultas em tabelas existentes, use os formatos AVRO e JSON, bem como Parquet e ORC, se a propriedade do SerDe estiver definida para leitura por nome. 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).

Não adicione colunas no início ou no meio da tabela em CSV e TSV, pois esses formatos dependem da classificação. Se uma coluna for adicionada em um desses casos, ocorrerá um erro de incompatibilidade de esquema quando o esquema de partições for alterado.

 O exemplo a seguir cria uma nova tabela que adiciona uma coluna `o_comment` no meio de uma tabela baseada em dados JSON.

```
CREATE EXTERNAL TABLE orders_json_column_addition (
   `o_orderkey` int, 
   `o_custkey` int, 
   `o_orderstatus` string, 
   `o_comment` string, 
   `o_totalprice` double, 
   `o_orderdate` string, 
   `o_orderpriority` string, 
   `o_clerk` string, 
   `o_shippriority` int, 
) 
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION 's3://amzn-s3-demo-bucket/orders_json/';
```