

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# ALTER TABLE REPLACE COLUMNS
<a name="alter-table-replace-columns"></a>

Menghapus semua kolom yang ada dari tabel yang dibuat dengan [LazySimpleSerDe](lazy-simple-serde.md)dan menggantinya dengan kumpulan kolom yang ditentukan. Saat opsional`PARTITION`sintaks yang digunakan, update metadata partisi. Anda juga dapat menggunakan`ALTER TABLE REPLACE COLUMNS`untuk menjatuhkan kolom dengan menentukan hanya kolom yang ingin Anda simpan.

## Sinopsis
<a name="synopsis"></a>

```
ALTER TABLE table_name 
  [PARTITION 
   (partition_col1_name = partition_col1_value
   [,partition_col2_name = partition_col2_value][,...])]
  REPLACE COLUMNS (col_name data_type [, col_name data_type, ...])
```

## Parameter
<a name="parameters"></a>

**PARTASI (partition\$1col\$1name=partition\$1col\$1value [,...])**  
Menentukan partisi dengan name/value kombinasi kolom yang Anda tentukan. Lampirkan`partition_col_value`dalam tanda kutip hanya jika tipe data kolom adalah string.

**GANTI KOLOM (col\$1name data\$1type [, col\$1name data\$1type,...])**  
Menggantikan kolom yang ada dengan nama kolom dan tipe data yang ditentukan.

## Catatan
<a name="alter-table-replace-columns-notes"></a>
+ Untuk melihat perubahan kolom tabel di panel navigasi Editor Kueri Athena setelah menjalankan`ALTER TABLE REPLACE COLUMNS`, Anda mungkin harus menyegarkan daftar tabel di editor secara manual, lalu memperluas tabel lagi.
+ `ALTER TABLE REPLACE COLUMNS`tidak bekerja untuk kolom dengan`date`Datatype. Untuk mengatasi masalah ini, gunakan`timestamp`datatype dalam tabel sebagai gantinya.
+ Perhatikan bahwa bahkan jika Anda mengganti hanya satu kolom, sintaksnya harus`ALTER TABLE table-name REPLACE COLUMNS`, dengan *kolom dalam bentuk* jamak. Anda harus menentukan tidak hanya kolom yang ingin Anda ganti, tetapi kolom yang ingin Anda simpan - jika tidak, kolom yang tidak Anda tentukan akan dijatuhkan. Sintaks dan perilaku ini berasal dari Apache Hive DDL. Untuk referensi, lihat [Tambahkan/Ganti kolom](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-Add/ReplaceColumns) dalam dokumentasi Apache. 

## Contoh
<a name="alter-table-replace-columns-example"></a>

Dalam contoh berikut, tabel`names_cities`, yang dibuat menggunakan [LazySimpleSerDe](lazy-simple-serde.md), memiliki tiga kolom bernama`col1`,`col2`, dan`col3`. Semua kolom bertipe`string`. Untuk menampilkan kolom dalam tabel, perintah berikut menggunakan [SHOW COLUMNS](show-columns.md) pernyataan.

```
SHOW COLUMNS IN names_cities
```

Hasil kueri:

```
col1
col2
col3
```

`ALTER TABLE REPLACE COLUMNS`Perintah berikut menggantikan nama kolom dengan`first_name`,`last_name`, dan`city`. Data sumber yang mendasarinya tidak terpengaruh.

```
ALTER TABLE names_cities
REPLACE COLUMNS (first_name string, last_name string, city string)
```

Untuk menguji hasilnya, `SHOW COLUMNS` dijalankan lagi.

```
SHOW COLUMNS IN names_cities
```

Hasil kueri:

```
first_name
last_name
city
```

Cara lain untuk menampilkan nama kolom baru adalah dengan [melihat pratinjau tabel](creating-tables-showing-table-information.md) di Athena Query Editor atau menjalankan kueri Anda sendiri`SELECT`.