

# 스키마 업데이트
<a name="make-schema-updates"></a>

이 주제에서는 데이터를 실제로 변경하지 않고도 `CREATE TABLE` 문을 통해 스키마에서 가능한 몇 가지 변경 사항을 설명합니다. 스키마를 업데이트하기 위해 `ALTER TABLE` 명령을 사용할 수도 있지만 기존 테이블을 실제로 수정하지 않는 경우도 있습니다. 대신 원래 `CREATE TABLE` 문에서 사용한 스키마를 수정하는 새 이름의 테이블을 생성합니다.

예상되는 스키마의 변화에 따라 Athena 쿼리를 계속 사용하려면 호환되는 데이터 형식을 선택합니다.

CSV와 Parquet이라는 두 가지 형식으로 존재하는 `orders` 테이블에서 주문 정보를 읽는 애플리케이션을 살펴보겠습니다.

다음 예제에서는 Parquet 형식으로 테이블을 만듭니다.

```
CREATE EXTERNAL TABLE orders_parquet (
   `orderkey` int, 
   `orderstatus` string, 
   `totalprice` double, 
   `orderdate` string, 
   `orderpriority` string, 
   `clerk` string, 
   `shippriority` int
) STORED AS PARQUET
LOCATION 's3://amzn-s3-demo-bucket/orders_ parquet/';
```

다음 예제에서는 CSV 형식으로 동일한 테이블을 만듭니다.

```
CREATE EXTERNAL TABLE orders_csv (
   `orderkey` int, 
   `orderstatus` string, 
   `totalprice` double, 
   `orderdate` string, 
   `orderpriority` string, 
   `clerk` string, 
   `shippriority` int
) 
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION 's3://amzn-s3-demo-bucket/orders_csv/';
```

다음 주제에서는 이러한 테이블 업데이트가 Athena 쿼리에 주는 영향을 알아봅니다.

**Topics**
+ [테이블의 시작 또는 중간에 열 추가](updates-add-columns-beginning-middle-of-table.md)
+ [테이블 끝에 열 추가](updates-add-columns-end-of-table.md)
+ [열 제거](updates-removing-columns.md)
+ [열 이름 변경하기](updates-renaming-columns.md)
+ [열 재정렬](updates-reordering-columns.md)
+ [열 데이터 형식 변경](updates-changing-column-type.md)