

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

# Referensi bahasa CQL untuk Amazon Keyspaces (untuk Apache Cassandra)
<a name="cql"></a>

Setelah Anda terhubung ke endpoint Amazon Keyspaces, Anda menggunakan Cassandra Query Language (CQL) untuk bekerja dengan database Anda. CQL mirip dalam banyak hal dengan Structured Query Language (SQL).
+ **Elemen CQL** - Bagian ini mencakup elemen dasar CQL yang didukung di Amazon Keyspaces, termasuk pengidentifikasi, konstanta, istilah, dan tipe data. Ini menjelaskan konsep seperti tipe string, tipe numerik, tipe koleksi, dan banyak lagi. 
+ **Data Definition Language (DDL)** — Pernyataan DDL digunakan untuk mengelola struktur data seperti keyspaces dan tabel di Amazon Keyspaces. Bagian ini mencakup pernyataan untuk membuat, mengubah, dan menjatuhkan ruang kunci dan tabel, serta memulihkan tabel dari cadangan. point-in-time 
+ **Data Manipulation Language (DML)** — Pernyataan DMLdigunakan untuk mengelola data dalam tabel. Bagian ini mencakup pernyataan untuk memilih, menyisipkan, memperbarui, dan menghapus data. Ini juga menjelaskan kemampuan kueri tingkat lanjut seperti menggunakan `IN` operator, memesan hasil, dan pagination. 
+ **Fungsi bawaan** - Amazon Keyspaces mendukung berbagai fungsi skalar bawaan yang dapat Anda gunakan dalam pernyataan CQL. Bagian ini memberikan gambaran umum tentang fungsi-fungsi ini, termasuk contoh penggunaannya. 

Sepanjang topik ini, Anda akan menemukan sintaks terperinci, contoh, dan praktik terbaik untuk menggunakan CQL secara efektif di Amazon Keyspaces.

**Topics**
+ [Elemen Cassandra Query Language (CQL) di Amazon Keyspaces](cql.elements.md)
+ [Pernyataan DDL (bahasa definisi data) di Amazon Keyspaces](cql.ddl.md)
+ [Pernyataan DHTML (bahasa manipulasi data) di Amazon Keyspaces](cql.dml.md)
+ [Fungsi bawaan di Amazon Keyspaces](cql.functions.md)

# Elemen Cassandra Query Language (CQL) di Amazon Keyspaces
<a name="cql.elements"></a>

Pelajari tentang elemen Cassandra Query Language (CQL) yang didukung oleh Amazon Keyspaces, termasuk pengidentifikasi, konstanta, istilah, dan tipe data.

**Topics**
+ [identifier](#cql.elements.identifier)
+ [constants](#cql.elements.constants)
+ [term](#cql.elements.term)
+ [Jenis Data](#cql.data-types)
+ [Pengkodean JSON dari tipe data Amazon Keyspaces](#cql.data-types.JSON)

## Pengidentifikasi
<a name="cql.elements.identifier"></a>

Pengidentifikasi (atau nama) digunakan untuk mengidentifikasi tabel, kolom, dan objek lainnya. Pengenal dapat dikutip atau tidak dikutip. Berikut ini berlaku.

```
identifier          ::=  unquoted_identifier | quoted_identifier
unquoted_identifier ::=  re('[a-zA-Z][a-zA-Z0-9_]*')
quoted_identifier   ::=  '"' (any character where " can appear if doubled)+ '"'
```

## Konstanta
<a name="cql.elements.constants"></a>

Konstanta berikut didefinisikan.

```
constant ::=  string | integer | float | boolean | uuid | blob | NULL
string   ::=  '\'' (any character where ' can appear if doubled)+ '\''
              '$$' (any character other than '$$') '$$'
integer  ::=  re('-?[0-9]+')
float    ::=  re('-?[0-9]+(\.[0-9]*)?([eE][+-]?[0-9+])?') | NAN | INFINITY
boolean  ::=  TRUE | FALSE
uuid     ::=  hex{8}-hex{4}-hex{4}-hex{4}-hex{12}
hex      ::=  re("[0-9a-fA-F]")
blob     ::=  '0' ('x' | 'X') hex+
```

## Ketentuan
<a name="cql.elements.term"></a>

Sebuah istilah menunjukkan jenis nilai yang didukung. Ketentuan didefinisikan oleh yang berikut ini.

```
term                 ::=  constant | literal | function_call | arithmetic_operation | type_hint | bind_marker
literal              ::=  collection_literal | tuple_literal
function_call        ::=  identifier '(' [ term (',' term)* ] ')'
arithmetic_operation ::=  '-' term | term ('+' | '-' | '*' | '/' | '%') term
```

## Jenis Data
<a name="cql.data-types"></a>

Amazon Keyspaces mendukung tipe data berikut:

### Jenis string
<a name="cql.data-types.string"></a>


****  

| Jenis data | Deskripsi | 
| --- | --- | 
|  `ascii`  | Merupakan string karakter ASCII. | 
|  `text`  | Merupakan string yang dikodekan UTF-8. | 
|  `varchar`  |  Merupakan string yang dikodekan UTF-8 (`varchar`adalah alias untuk). `text`  | 

### Jenis numerik
<a name="cql.data-types.numeric"></a>


****  

| Jenis data | Deskripsi | 
| --- | --- | 
|  `bigint`  | Merupakan panjang bertanda 64-bit. | 
|  `counter`  | Merupakan penghitung bilangan bulat bertanda 64-bit. Untuk informasi selengkapnya, lihat [Penghitung](#cql.data-types.numeric.counters). | 
|  `decimal`  | Merupakan desimal presisi variabel. | 
|  `double`  | Merupakan titik mengambang IEEE 754 64-bit. | 
|  `float`  | Merupakan titik mengambang IEEE 754 32-bit. | 
|  `int`  |  Merupakan int bertanda 32-bit.  | 
|  `varint`  |  Merupakan nilai integer dalam rentang \$1/- 10 ^ 38.  | 

#### Penghitung
<a name="cql.data-types.numeric.counters"></a>

`counter`Kolom berisi integer bertanda 64-bit. Nilai penghitung bertambah atau dikurangi menggunakan [UPDATE](cql.dml.update.md) pernyataan, dan tidak dapat diatur secara langsung. Ini membuat `counter` kolom berguna untuk melacak jumlah. Misalnya, Anda dapat menggunakan penghitung untuk melacak jumlah entri dalam file log atau berapa kali posting telah dilihat di jejaring sosial. Pembatasan berikut berlaku untuk `counter` kolom:
+ Kolom tipe `counter` tidak dapat menjadi bagian `primary key` dari tabel.
+ Dalam tabel yang berisi satu atau beberapa kolom tipe`counter`, semua kolom dalam tabel itu harus bertipe`counter`.

Jika pembaruan penghitung gagal (misalnya, karena batas waktu atau kehilangan koneksi dengan Amazon Keyspaces), klien tidak tahu apakah nilai penghitung telah diperbarui. Jika pembaruan dicoba lagi, pembaruan ke nilai penghitung mungkin diterapkan untuk kedua kalinya.

### Jenis gumpalan
<a name="cql.data-types.blob"></a>


****  

| Jenis data | Deskripsi | 
| --- | --- | 
|  `blob`  | Merupakan byte arbitrer. | 

### Jenis Boolean
<a name="cql.data-types.boolean"></a>


****  

| Jenis data | Deskripsi | 
| --- | --- | 
|  `boolean`  | Mewakili true ataufalse. | 

### Jenis terkait waktu
<a name="cql.data-types.time"></a>


****  

| Jenis data | Deskripsi | 
| --- | --- | 
|  `date`  | String dalam format<yyyy>-<mm>-<dd>. | 
|  `timestamp`  | Integer bertanda 64-bit yang mewakili tanggal dan waktu sejak epoch (1 Januari 1970 pukul 00:00:00 GMT) dalam milidetik. | 
|  `timeuuid`  | Merupakan [versi 1 UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address)). | 

### Jenis koleksi
<a name="cql.data-types.collection"></a>


****  

| Jenis data | Deskripsi | 
| --- | --- | 
|  `list`  | Merupakan kumpulan elemen literal yang diurutkan. | 
|  `map`  | Merupakan kumpulan pasangan kunci-nilai yang tidak berurutan. | 
|  `set`  | Merupakan koleksi yang tidak berurutan dari satu atau lebih elemen literal. | 

Anda mendeklarasikan kolom koleksi dengan menggunakan tipe koleksi diikuti oleh tipe data lain (misalnya, `TEXT` atau`INT`) dalam tanda kurung miring. Anda dapat membuat kolom dengan `SET` dari`TEXT`, atau Anda dapat membuat pasangan `MAP` dari `TEXT` dan `INT` kunci-nilai, seperti yang ditunjukkan pada contoh berikut.

```
SET <TEXT>
MAP <TEXT, INT>
```

Koleksi *non-beku* memungkinkan Anda untuk membuat pembaruan untuk setiap elemen koleksi individu. Stempel waktu sisi klien dan pengaturan Time to Live (TTL) disimpan untuk elemen individual.

Saat Anda menggunakan `FROZEN` kata kunci pada jenis koleksi, nilai koleksi diserialisasikan menjadi satu nilai yang tidak dapat diubah, dan Amazon Keyspaces memperlakukannya seperti a. `BLOB` Ini adalah koleksi *beku*. `UPDATE`Pernyataan `INSERT` atau menimpa seluruh koleksi beku. Anda tidak dapat membuat pembaruan untuk elemen individual di dalam koleksi beku.

Stempel waktu sisi klien dan pengaturan Time to Live (TTL) berlaku untuk seluruh koleksi beku, bukan untuk elemen individual. `Frozen`kolom koleksi dapat menjadi bagian `PRIMARY KEY` dari tabel.

Anda dapat membuat sarang koleksi beku. Misalnya, Anda dapat menentukan `MAP` dalam a `SET` jika menggunakan `FROZEN` kata kunci, seperti yang ditunjukkan pada contoh berikut. `MAP` 

```
SET <FROZEN> <MAP <TEXT, INT>>>
```

Amazon Keyspaces mendukung penyarangan hingga 8 tingkat koleksi beku secara default. Untuk informasi selengkapnya, lihat [Kuota layanan Amazon Keyspaces](quotas.md#table). Untuk informasi lebih lanjut tentang perbedaan fungsional dengan Apache Cassandra, lihat. [`FROZEN`koleksi](functional-differences.md#functional-differences.frozen-collections) Untuk informasi selengkapnya tentang sintaks CQL, lihat dan. [CREATE TABLE](cql.ddl.table.md#cql.ddl.table.create) [ALTER TABLE](cql.ddl.table.md#cql.ddl.table.alter)

### Tipe Tuple
<a name="cql.data-types.tuple"></a>

Tipe `tuple` data mewakili sekelompok elemen literal yang dibatasi. Anda dapat menggunakan tupel sebagai alternatif untuk a`user defined type`. Anda tidak perlu menggunakan `FROZEN` kata kunci untuk tupel. Ini karena Tuple selalu dibekukan dan Anda tidak dapat memperbarui elemen satu per satu. 

### Tipe lainnya
<a name="cql.data-types.other"></a>


****  

| Jenis data | Deskripsi | 
| --- | --- | 
|  `inet`  | Sebuah string yang mewakili alamat IP, dalam salah satu IPv4 atau IPv6 format. | 

### Statis
<a name="cql.data-types.static"></a>

Dalam tabel Amazon Keyspaces dengan kolom pengelompokan, Anda dapat menggunakan `STATIC` kata kunci untuk membuat kolom statis jenis apa pun. 

Pernyataan berikut adalah contoh dari ini.

```
my_column INT STATIC
```

Untuk informasi selengkapnya tentang bekerja dengan kolom statis, lihat[Perkirakan konsumsi kapasitas untuk kolom statis di Amazon Keyspaces](static-columns.md).

### Jenis yang ditentukan pengguna () UDTs
<a name="cql.data-types.user-defined"></a>

Amazon Keyspaces mendukung tipe yang ditentukan pengguna (). UDTs Anda dapat menggunakan tipe data Amazon Keyspaces yang valid untuk membuat UDT, termasuk koleksi dan lainnya yang sudah ada. UDTs Anda membuat UDTs di ruang kunci dan dapat menggunakannya untuk menentukan kolom dalam tabel apa pun di ruang kunci.

Untuk informasi selengkapnya tentang sintaks CQL, lihat. [Jenis yang ditentukan pengguna () UDTs](cql.ddl.type.md) Untuk informasi lebih lanjut tentang bekerja dengan UDTs, lihat[Tipe yang ditentukan pengguna (UDTs) di Amazon Keyspaces](udts.md).

Untuk meninjau berapa banyak UDTs yang didukung per ruang kunci, tingkat penyarangan yang didukung, serta nilai dan kuota default lainnya yang terkait UDTs, lihat. [Kuota dan nilai default untuk tipe yang ditentukan pengguna () UDTs di Amazon Keyspaces](quotas.md#quotas-udts)

## Pengkodean JSON dari tipe data Amazon Keyspaces
<a name="cql.data-types.JSON"></a>

Amazon Keyspaces menawarkan pemetaan tipe data JSON yang sama dengan Apache Cassandra. Tabel berikut menjelaskan tipe data yang diterima Amazon Keyspaces dalam `INSERT JSON` pernyataan dan tipe data yang digunakan Amazon Keyspaces saat mengembalikan data dengan pernyataan. `SELECT JSON`

Untuk tipe data bidang tunggal seperti`float`,,, dan `int` `UUID``date`, Anda juga dapat menyisipkan data sebagai `string` file. Untuk tipe dan koleksi data gabungan, seperti,, dan `tuple` `map``list`, Anda juga dapat menyisipkan data sebagai JSON atau sebagai `JSON string` encode.


****  

| Jenis data JSON | Tipe data diterima dalam `INSERT JSON` pernyataan | Tipe data dikembalikan dalam `SELECT JSON` pernyataan | Catatan | 
| --- | --- | --- | --- | 
|  `ascii`  | string | string | Menggunakan pelarian `\u` karakter JSON. | 
|  `bigint`  | integer, string | integer | String harus berupa integer 64-bit yang valid. | 
|  `blob`  | string | string | String harus dimulai dengan `0x` diikuti oleh jumlah digit hex genap. | 
|  `boolean`  | boolean, string | boolean | String harus salah satu `true` atau`false`. | 
|  `date`  | string | string | Tanggal dalam format`YYYY-MM-DD`, zona waktu UTC. | 
|  `decimal`  | integer, float, string | float | Dapat melebihi presisi floating point 32-bit atau 64-bit IEEE-754 dalam decoder sisi klien. | 
|  `double`  | integer, float, string | float | String harus berupa integer atau float yang valid. | 
|  `float`  | integer, float, string | float | String harus berupa integer atau float yang valid. | 
|  `inet`  | string | string | IPv4 atau IPv6 alamat. | 
|  `int`  | integer, string | integer | String harus berupa bilangan bulat 32-bit yang valid. | 
|  `list`  | list, string | list | Menggunakan representasi daftar JSON asli. | 
|  `map`  | map, string | map | Menggunakan representasi peta JSON asli. | 
|  `smallint`  | integer, string | integer | String harus berupa bilangan bulat 16-bit yang valid. | 
|  `set`  | list, string | list | Menggunakan representasi daftar JSON asli. | 
|  `text`  | string | string | Menggunakan pelarian `\u` karakter JSON. | 
|  `time`  | string | string | Waktu dalam format`HH-MM-SS[.fffffffff]`. | 
|  `timestamp`  | integer, string | string | Sebuah stempel waktu. Konstanta string memungkinkan Anda menyimpan stempel waktu sebagai tanggal. Perangko tanggal dengan format `YYYY-MM-DD HH:MM:SS.SSS` dikembalikan. | 
|  `timeuuid`  | string | string | Tipe 1 UUID. Lihat [constants](#cql.elements.constants) untuk format UUID. | 
|  `tinyint`  | integer, string | integer | String harus berupa bilangan bulat 8-bit yang valid. | 
|  `tuple`  | list, string | list | Menggunakan representasi daftar JSON asli. | 
|  `UDT`  | map, string | map | Menggunakan representasi peta JSON asli dengan nama bidang sebagai kunci. | 
|  `uuid`  | string | string | Lihat [constants](#cql.elements.constants) untuk format UUID. | 
|  `varchar`  | string | string | Menggunakan pelarian `\u` karakter JSON. | 
|  `varint`  | integer, string | integer | Panjang variabel; mungkin meluap bilangan bulat 32-bit atau 64-bit di dekoder sisi klien. | 

# Pernyataan DDL (bahasa definisi data) di Amazon Keyspaces
<a name="cql.ddl"></a>

*Bahasa definisi data* (DDL) adalah kumpulan pernyataan Cassandra Query Language (CQL) yang Anda gunakan untuk mengelola struktur data di Amazon Keyspaces (untuk Apache Cassandra), seperti ruang kunci dan tabel. Anda menggunakan DDL untuk membuat struktur data ini, memodifikasinya setelah dibuat, dan menghapusnya saat tidak lagi digunakan. Amazon Keyspaces melakukan operasi DDL secara asinkron. Untuk informasi selengkapnya tentang cara mengonfirmasi bahwa operasi asinkron telah selesai, lihat. [Pembuatan asinkron dan penghapusan ruang kunci dan tabel](functional-differences.md#functional-differences.table-keyspace-management)

 Pernyataan DDL berikut didukung: 
+  [BUAT KEYSPACE](cql.ddl.keyspace.md#cql.ddl.keyspace.create) 
+  [UBAH KEYSPACE](cql.ddl.keyspace.md#cql.ddl.keyspace.alter) 
+  [JATUHKAN KEYSPACE](cql.ddl.keyspace.md#cql.ddl.keyspace.drop) 
+  [GUNAKAN](cql.ddl.keyspace.md#cql.ddl.keyspace.use) 
+  [BUAT TABEL](cql.ddl.table.md#cql.ddl.table.create) 
+  [UBAH TABEL](cql.ddl.table.md#cql.ddl.table.alter) 
+  [KEMBALIKAN TABEL](cql.ddl.table.md#cql.ddl.table.restore) 
+  [MEJA DROP](cql.ddl.table.md#cql.ddl.table.drop) 
+  [BUAT JENIS](cql.ddl.type.md#cql.ddl.type.create) 
+  [TIPE DROP](cql.ddl.type.md#cql.ddl.type.drop) 

**Topics**
+ [Keyspaces](cql.ddl.keyspace.md)
+ [Tabel](cql.ddl.table.md)
+ [Jenis yang ditentukan pengguna () UDTs](cql.ddl.type.md)

# Keyspaces
<a name="cql.ddl.keyspace"></a>

Sebuah *keyspace* mengelompokkan tabel terkait yang relevan untuk satu atau beberapa aplikasi. Dalam hal sistem manajemen basis data relasional (RDBMS), ruang kunci kira-kira mirip dengan database, ruang tabel, atau konstruksi serupa.

**catatan**  
Di Apache Cassandra, keyspace menentukan bagaimana data direplikasi di antara beberapa node penyimpanan. Namun, Amazon Keyspaces adalah layanan yang dikelola sepenuhnya: Detail lapisan penyimpanannya dikelola atas nama Anda. Untuk alasan ini, ruang kunci di Amazon Keyspaces hanya konstruksi logis, dan tidak terkait dengan penyimpanan fisik yang mendasarinya.

Untuk informasi tentang batas kuota dan batasan untuk ruang kunci Amazon Keyspaces, lihat. [Kuota untuk Amazon Keyspaces (untuk Apache Cassandra)](quotas.md)

**Topics**
+ [BUAT KEYSPACE](#cql.ddl.keyspace.create)
+ [MENGUBAH RUANG KUNCI](#cql.ddl.keyspace.alter)
+ [JATUHKAN RUANG KUNCI](#cql.ddl.keyspace.drop)
+ [USE](#cql.ddl.keyspace.use)

## BUAT KEYSPACE
<a name="cql.ddl.keyspace.create"></a>

Gunakan `CREATE KEYSPACE` pernyataan untuk membuat keyspace baru.

**Sintaksis**

```
create_keyspace_statement ::= 
    CREATE KEYSPACE [ IF NOT EXISTS ] keyspace_name
    WITH options
```

Di mana:
+ `keyspace_name`adalah nama keyspace yang akan dibuat.
+ *pilihan* adalah satu atau lebih dari berikut ini:
  + `REPLICATION`— Peta yang menunjukkan strategi replikasi untuk keyspace:
    + `SingleRegionStrategy`— Untuk ruang kunci wilayah tunggal. (Diperlukan)
    + `NetworkTopologyStrategy`— Tentukan setidaknya dua Wilayah AWS. Faktor replikasi untuk setiap Wilayah adalah tiga. (Opsional)
  + `DURABLE_WRITES`— Menulis ke Amazon Keyspaces selalu tahan lama, jadi opsi ini tidak diperlukan. Namun, jika ditentukan, nilainya harus`true`.
  + `TAGS`— Daftar tag pasangan kunci-nilai yang akan dilampirkan ke sumber daya saat Anda membuatnya. (Opsional)

**Contoh**

Buat keyspace sebagai berikut.

```
CREATE KEYSPACE my_keyspace
    WITH REPLICATION = {'class': 'SingleRegionStrategy'} and TAGS ={'key1':'val1', 'key2':'val2'} ;
```

Untuk membuat ruang kunci Multi-wilayah, tentukan `NetworkTopologyStrategy` dan sertakan setidaknya dua. Wilayah AWS Faktor replikasi untuk setiap Wilayah adalah tiga.

```
CREATE KEYSPACE my_keyspace
    WITH REPLICATION = {'class':'NetworkTopologyStrategy', 'us-east-1':'3', 'ap-southeast-1':'3','eu-west-1':'3'};
```

## MENGUBAH RUANG KUNCI
<a name="cql.ddl.keyspace.alter"></a>

Anda dapat menggunakan `ALTER KEYSPACE WITH` pernyataan untuk *opsi* berikut
+ `REPLICATION`— Gunakan opsi ini untuk menambahkan Wilayah AWS replika baru ke ruang kunci. Anda dapat menambahkan Wilayah baru ke wilayah Tunggal atau ke ruang kunci Multi-wilayah. 
+ `TAGS`— Gunakan opsi ini untuk menambah atau menghapus tag dari ruang kunci.

**Sintaksis**

```
alter_keyspace_statement ::= 
    ALTER KEYSPACE keyspace_name
    WITH options
```

Di mana:
+ `keyspace_name`adalah nama keyspace yang akan diubah.
+ *pilihan* adalah salah satu dari berikut:
  + `ADD | DROP TAGS`— Daftar tag pasangan kunci-nilai yang akan ditambahkan atau dihapus dari ruang kunci. 
  + `REPLICATION`— Peta yang menunjukkan strategi replikasi untuk keyspace; 
    + `class`— `NetworkTopologyStrategy` mendefinisikan keyspace sebagai ruang kunci Multi-wilayah.
    + `region`— Tentukan satu tambahan Wilayah AWS untuk keyspace ini. Faktor replikasi untuk setiap Wilayah adalah tiga.
    + `CLIENT_SIDE_TIMESTAMPS`— Defaultnya adalah`DISABLED`. Anda hanya dapat mengubah status menjadi`ENABLED`.

**Contoh**

Mengubah keyspace seperti yang ditunjukkan pada contoh berikut untuk menambahkan tag.

```
ALTER KEYSPACE my_keyspace ADD TAGS {'key1':'val1', 'key2':'val2'};
```

Untuk menambahkan Region ketiga ke ruang kunci Multi-region, Anda dapat menggunakan pernyataan berikut.

```
ALTER KEYSPACE my_keyspace
WITH REPLICATION = {
    'class': 'NetworkTopologyStrategy',
    'us-east-1': '3',
    'us-west-2': '3',
    'us-west-1': '3'
} AND CLIENT_SIDE_TIMESTAMPS = {'status': 'ENABLED'};
```

## JATUHKAN RUANG KUNCI
<a name="cql.ddl.keyspace.drop"></a>

Gunakan `DROP KEYSPACE` pernyataan untuk menghapus keyspace—termasuk semua isinya, seperti tabel.

**Sintaksis**

```
drop_keyspace_statement ::= 
    DROP KEYSPACE [ IF EXISTS ] keyspace_name
```

Di mana:
+ *keyspace\$1name adalah nama* keyspace yang akan dijatuhkan.

**Contoh**

```
DROP KEYSPACE my_keyspace;
```

## USE
<a name="cql.ddl.keyspace.use"></a>

Gunakan `USE` pernyataan untuk menentukan keyspace saat ini. Ini memungkinkan Anda untuk merujuk ke objek yang terikat ke ruang kunci tertentu, misalnya tabel dan jenis, tanpa menggunakan nama yang sepenuhnya memenuhi syarat yang menyertakan awalan keyspace. 

**Sintaksis**

```
use_statement ::= 
    USE keyspace_name
```

Di mana:
+ *keyspace\$1name adalah nama* keyspace yang akan digunakan.

**Contoh**

```
USE my_keyspace;
```

# Tabel
<a name="cql.ddl.table"></a>

*Tabel* adalah struktur data utama di Amazon Keyspaces. Data dalam tabel disusun menjadi baris dan kolom. Subset dari kolom tersebut digunakan untuk menentukan partisi (dan akhirnya penempatan data) melalui spesifikasi kunci partisi.

Kumpulan kolom lain dapat didefinisikan ke dalam kolom pengelompokan, yang berarti bahwa mereka dapat berpartisipasi sebagai predikat dalam eksekusi kueri. 

Secara default, tabel baru dibuat dengan kapasitas throughput *sesuai permintaan*. Anda dapat mengubah mode kapasitas untuk tabel baru dan yang sudah ada. Untuk informasi selengkapnya tentang mode throughput read/write kapasitas, lihat[Konfigurasikan mode read/write kapasitas di Amazon Keyspaces](ReadWriteCapacityMode.md). 

Untuk tabel dalam mode yang disediakan, Anda dapat mengonfigurasi opsional. `AUTOSCALING_SETTINGS` Untuk informasi selengkapnya tentang penskalaan otomatis Amazon Keyspaces dan opsi yang tersedia, lihat. [Konfigurasikan penskalaan otomatis pada tabel yang ada](autoscaling.configureTable.md)

Untuk informasi tentang batas kuota dan batasan untuk tabel Amazon Keyspaces, lihat. [Kuota untuk Amazon Keyspaces (untuk Apache Cassandra)](quotas.md)

**Topics**
+ [CREATE TABLE](#cql.ddl.table.create)
+ [ALTER TABLE](#cql.ddl.table.alter)
+ [MENGEMBALIKAN TABEL](#cql.ddl.table.restore)
+ [MEJA DROP](#cql.ddl.table.drop)

## CREATE TABLE
<a name="cql.ddl.table.create"></a>

Gunakan `CREATE TABLE` pernyataan untuk membuat tabel baru.

 **Sintaksis**

```
create_table_statement ::=  CREATE TABLE [ IF NOT EXISTS ] table_name
    '('
        column_definition 
        ( ',' column_definition )*
        [ ',' PRIMARY KEY '(' primary_key ')' ]
    ')' [ WITH table_options ]

column_definition      ::=  column_name cql_type [ FROZEN ][ STATIC ][ PRIMARY KEY]

primary_key            ::=  partition_key [ ',' clustering_columns ]

partition_key          ::=  column_name
                              | '(' column_name ( ',' column_name )* ')'

clustering_columns     ::=  column_name ( ',' column_name )*

table_options          ::=  [table_options]
                              | CLUSTERING ORDER BY '(' clustering_order ')' [ AND table_options ]
                              | cdc
                              | CUSTOM_PROPERTIES
                              | AUTOSCALING_SETTINGS
                              | default_time_to_live
                              | TAGS

clustering_order       ::=  column_name (ASC | DESC) ( ',' column_name (ASC | DESC) )*
```

Di mana:
+ `table_name`adalah nama tabel yang akan dibuat. Nama yang sepenuhnya memenuhi syarat termasuk awalan keyspace. Atau, Anda dapat mengatur keyspace saat ini dengan pernyataan `USE` keyspace.
+ `column_definition`terdiri dari yang berikut:
  +  *`column_name`*— Nama kolom.
  + `cql_type`— Tipe data Amazon Keyspaces (lihat[Jenis Data](cql.elements.md#cql.data-types)).
  + `FROZEN`— Menetapkan kolom ini yang ditentukan pengguna atau tipe `collection` (misalnya,, `LIST``SET`, atau`MAP`) sebagai beku. Koleksi *beku* diserialisasikan menjadi satu nilai yang tidak dapat diubah dan diperlakukan seperti a. `BLOB` Untuk informasi selengkapnya, lihat [Jenis koleksi](cql.elements.md#cql.data-types.collection).
  + `STATIC`— Menunjuk kolom ini sebagai statis. Kolom statis menyimpan nilai yang dibagikan oleh semua baris di partisi yang sama.
  + `PRIMARY KEY`— Menetapkan kolom ini sebagai kunci utama tabel.
+ `primary_key`terdiri dari yang berikut:
  + `partition_key`
  + `clustering_columns`
+ `partition_key`:
  + Kunci partisi dapat berupa kolom tunggal, atau dapat berupa nilai majemuk yang terdiri dari dua atau lebih kolom. Bagian kunci partisi dari kunci utama diperlukan dan menentukan bagaimana Amazon Keyspaces menyimpan data Anda. 
+ `clustering_columns`:
  + Bagian kolom pengelompokan opsional dari kunci utama Anda menentukan bagaimana data dikelompokkan dan diurutkan dalam setiap partisi. 
+ `table_options`terdiri dari yang berikut:
  + *`CLUSTERING ORDER BY`*— ORDER CLUSTERING default pada tabel terdiri dari kunci pengelompokan Anda dalam arah pengurutan `ASC` (naik). Tentukan untuk mengganti perilaku pengurutan default. 
  +  *`cdc`*— Boolean yang menentukan apakah Amazon Keyspaces membuat aliran change data capture (CDC) untuk tabel. Nilai default-nya `false`. Untuk menentukan `view type` saat mengaktifkan aliran, atur `cdc_specification` dengan`CUSTOM_PROPERTIES`. 
  +  *`CUSTOM_PROPERTIES`*— Peta pengaturan yang khusus untuk Amazon Keyspaces.
    +  `capacity_mode`: Menentukan mode kapasitas throughput baca/tulis untuk tabel. Opsi nya adalah `throughput_mode:PAY_PER_REQUEST` dan `throughput_mode:PROVISIONED`. Mode kapasitas yang disediakan membutuhkan `read_capacity_units` dan `write_capacity_units` sebagai input. Nilai default-nya `throughput_mode:PAY_PER_REQUEST`.
    +  `cdc_specification`: Menentukan `view_type` aliran CDC. Opsinya adalah:
      + `NEW_AND_OLD_IMAGES`— kedua versi baris, sebelum dan sesudah perubahan. Ini adalah opsi default.
      + `NEW_IMAGE`— versi baris setelah perubahan.
      + `OLD_IMAGE`— versi baris sebelum perubahan.
      + `KEYS_ONLY`— kunci partisi dan pengelompokan baris yang diubah.

      Untuk informasi selengkapnya tentang aliran CDC, lihat. [Bekerja dengan aliran change data capture (CDC) di Amazon Keyspaces](cdc.md) Untuk contoh kode, lihat [Aktifkan aliran CDC saat membuat tabel baru di Amazon Keyspaces](keyspaces-enable-cdc-new-table.md).
    +  `client_side_timestamps`: Menentukan apakah stempel waktu sisi klien diaktifkan atau dinonaktifkan untuk tabel. Opsi nya adalah `{'status': 'enabled'}` dan `{'status': 'disabled'}`. Jika tidak ditentukan, defaultnya adalah`status:disabled`. Setelah stempel waktu sisi klien diaktifkan untuk tabel, pengaturan ini tidak dapat dinonaktifkan. 
    +  `encryption_specification`: Menentukan opsi enkripsi untuk enkripsi saat istirahat. Jika tidak ditentukan, defaultnya adalah`encryption_type:AWS_OWNED_KMS_KEY`. Opsi enkripsi kunci yang dikelola pelanggan memerlukan AWS KMS kunci dalam format Amazon Resource Name (ARN) sebagai input::`kms_key_identifier:ARN`. `kms_key_identifier:ARN` 
    +  `point_in_time_recovery`: Menentukan apakah point-in-time restore diaktifkan atau dinonaktifkan untuk tabel. Opsi nya adalah `status:enabled` dan `status:disabled`. Jika tidak ditentukan, defaultnya adalah`status:disabled`.
    + `replica_updates`: Menentukan pengaturan tabel Multi-region yang khusus untuk. Wilayah AWS Untuk tabel Multi-region, Anda dapat mengonfigurasi kapasitas baca tabel secara berbeda per Wilayah AWS tabel. Anda dapat melakukan ini dengan mengonfigurasi parameter berikut. Untuk informasi selengkapnya dan contoh tambahan, lihat [Buat tabel Multi-wilayah dalam mode yang disediakan dengan penskalaan otomatis di Amazon Keyspaces](tables-mrr-create-provisioned.md).
      + `region`— Wilayah AWS Replika tabel dengan pengaturan berikut:
        + `read_capacity_units`
    +  `TTL`: Mengaktifkan Pengaturan kustom Time to Live untuk tabel. Untuk mengaktifkan, gunakan`status:enabled`. Nilai default-nya `status:disabled`. Setelah `TTL` diaktifkan, Anda tidak dapat menonaktifkannya untuk tabel.
  + `AUTOSCALING_SETTINGS`termasuk pengaturan opsional berikut untuk tabel dalam mode yang disediakan. Untuk informasi selengkapnya dan contoh tambahan, lihat [Buat tabel baru dengan penskalaan otomatis](autoscaling.createTable.md).
    + `provisioned_write_capacity_autoscaling_update`:
      + `autoscaling_disabled`— Untuk mengaktifkan penskalaan otomatis untuk kapasitas tulis, atur nilainya ke`false`. Nilai default-nya `true`. (Opsional)
      + `minimum_units`— Tingkat minimum throughput tulis yang harus selalu siap didukung oleh tabel. Nilai harus antara 1 dan kuota throughput maksimal per detik untuk akun Anda (40.000 secara default).
      + `maximum_units`— Tingkat maksimum throughput tulis yang harus selalu siap didukung oleh tabel. Nilai harus antara 1 dan kuota throughput maksimal per detik untuk akun Anda (40.000 secara default).
      + `scaling_policy`— Amazon Keyspaces mendukung kebijakan pelacakan target. Target penskalaan otomatis adalah kapasitas tulis tabel yang disediakan.
        + `target_tracking_scaling_policy_configuration`— Untuk menentukan kebijakan pelacakan target, Anda harus menentukan nilai target. Untuk informasi selengkapnya tentang pelacakan target dan periode cooldown, lihat [Kebijakan Penskalaan Pelacakan Target di Panduan Pengguna *Application Auto Scaling*](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html). 
          + `target_value`— Tingkat pemanfaatan target tabel. Penskalaan otomatis Amazon Keyspaces memastikan bahwa rasio kapasitas yang dikonsumsi terhadap kapasitas yang disediakan tetap pada atau mendekati nilai ini. Anda mendefinisikan `target_value` sebagai persentase. Ganda antara 20 dan 90. (Diperlukan)
          + `scale_in_cooldown`— Periode cooldown dalam hitungan detik antara aktivitas penskalaan yang memungkinkan tabel stabil sebelum skala aktivitas lain dimulai. Jika tidak ada nilai yang diberikan, defaultnya adalah 0. (Opsional)
          + `scale_out_cooldown`— Periode cooldown dalam hitungan detik antara aktivitas penskalaan yang memungkinkan tabel stabil sebelum aktivitas skala lain dimulai. Jika tidak ada nilai yang diberikan, defaultnya adalah 0. (Opsional)
          + `disable_scale_in`: A `boolean` yang menentukan apakah `scale-in` dinonaktifkan atau diaktifkan untuk tabel. Parameter ini dinonaktifkan secara default. Untuk menghidupkan`scale-in`, atur `boolean` nilainya ke`FALSE`. Ini berarti bahwa kapasitas secara otomatis diperkecil untuk tabel atas nama Anda. (Opsional) 
    + `provisioned_read_capacity_autoscaling_update`:
      + `autoscaling_disabled`— Untuk mengaktifkan penskalaan otomatis untuk kapasitas baca, atur nilainya ke`false`. Nilai default-nya `true`. (Opsional)
      + `minimum_units`— Tingkat throughput minimum yang harus selalu siap didukung oleh tabel. Nilai harus antara 1 dan kuota throughput maksimal per detik untuk akun Anda (40.000 secara default).
      + `maximum_units`— Tingkat throughput maksimum yang harus selalu siap didukung oleh tabel. Nilai harus antara 1 dan kuota throughput maksimal per detik untuk akun Anda (40.000 secara default).
      + `scaling_policy`— Amazon Keyspaces mendukung kebijakan pelacakan target. Target penskalaan otomatis adalah kapasitas baca tabel yang disediakan.
        + `target_tracking_scaling_policy_configuration`— Untuk menentukan kebijakan pelacakan target, Anda harus menentukan nilai target. Untuk informasi selengkapnya tentang pelacakan target dan periode cooldown, lihat [Kebijakan Penskalaan Pelacakan Target di Panduan Pengguna *Application Auto Scaling*](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html). 
          + `target_value`— Tingkat pemanfaatan target tabel. Penskalaan otomatis Amazon Keyspaces memastikan bahwa rasio kapasitas yang dikonsumsi terhadap kapasitas yang disediakan tetap pada atau mendekati nilai ini. Anda mendefinisikan `target_value` sebagai persentase. Ganda antara 20 dan 90. (Diperlukan)
          + `scale_in_cooldown`— Periode cooldown dalam hitungan detik antara aktivitas penskalaan yang memungkinkan tabel stabil sebelum skala aktivitas lain dimulai. Jika tidak ada nilai yang diberikan, defaultnya adalah 0. (Opsional)
          + `scale_out_cooldown`— Periode cooldown dalam hitungan detik antara aktivitas penskalaan yang memungkinkan tabel stabil sebelum aktivitas skala lain dimulai. Jika tidak ada nilai yang diberikan, defaultnya adalah 0. (Opsional)
          + `disable_scale_in`: A `boolean` yang menentukan apakah `scale-in` dinonaktifkan atau diaktifkan untuk tabel. Parameter ini dinonaktifkan secara default. Untuk menghidupkan`scale-in`, atur `boolean` nilainya ke`FALSE`. Ini berarti bahwa kapasitas secara otomatis diperkecil untuk tabel atas nama Anda. (Opsional) 
    + `replica_updates`: Menentukan pengaturan penskalaan otomatis Wilayah AWS tertentu dari tabel Multi-wilayah. Untuk tabel Multi-region, Anda dapat mengonfigurasi kapasitas baca tabel secara berbeda per Wilayah AWS tabel. Anda dapat melakukan ini dengan mengonfigurasi parameter berikut. Untuk informasi selengkapnya dan contoh tambahan, lihat [Memperbarui kapasitas yang disediakan dan pengaturan penskalaan otomatis untuk tabel Multi-wilayah di Amazon Keyspaces](tables-mrr-autoscaling.md).
      + `region`— Wilayah AWS Replika tabel dengan pengaturan berikut:
        + `provisioned_read_capacity_autoscaling_update`
          + `autoscaling_disabled`— Untuk mengaktifkan penskalaan otomatis untuk kapasitas baca tabel, atur nilainya ke`false`. Nilai default-nya `true`. (Opsional) 
**catatan**  
Penskalaan otomatis untuk tabel Multi-wilayah harus diaktifkan atau dinonaktifkan untuk semua replika tabel.
          + `minimum_units`— Tingkat minimum throughput baca yang harus selalu siap didukung oleh tabel. Nilai harus antara 1 dan kuota throughput maksimal per detik untuk akun Anda (40.000 secara default).
          + `maximum_units`— Tingkat maksimum throughput baca yang harus selalu siap didukung oleh tabel. Nilai harus antara 1 dan kuota throughput maksimal per detik untuk akun Anda (40.000 secara default).
          + `scaling_policy`— Amazon Keyspaces mendukung kebijakan pelacakan target. Target penskalaan otomatis adalah kapasitas baca tabel yang disediakan.
            + `target_tracking_scaling_policy_configuration`— Untuk menentukan kebijakan pelacakan target, Anda harus menentukan nilai target. Untuk informasi selengkapnya tentang pelacakan target dan periode cooldown, lihat [Kebijakan Penskalaan Pelacakan Target di Panduan Pengguna *Application Auto Scaling*](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html). 
              + `target_value`— Tingkat pemanfaatan target tabel. Penskalaan otomatis Amazon Keyspaces memastikan bahwa rasio kapasitas baca yang dikonsumsi terhadap kapasitas baca yang disediakan tetap pada atau mendekati nilai ini. Anda mendefinisikan `target_value` sebagai persentase. Ganda antara 20 dan 90. (Diperlukan)
              + `scale_in_cooldown`— Periode cooldown dalam hitungan detik antara aktivitas penskalaan yang memungkinkan tabel stabil sebelum skala aktivitas lain dimulai. Jika tidak ada nilai yang diberikan, defaultnya adalah 0. (Opsional)
              + `scale_out_cooldown`— Periode cooldown dalam hitungan detik antara aktivitas penskalaan yang memungkinkan tabel stabil sebelum aktivitas skala lain dimulai. Jika tidak ada nilai yang diberikan, defaultnya adalah 0. (Opsional)
              + `disable_scale_in`: A `boolean` yang menentukan apakah `scale-in` dinonaktifkan atau diaktifkan untuk tabel. Parameter ini dinonaktifkan secara default. Untuk menghidupkan`scale-in`, atur `boolean` nilainya ke`FALSE`. Ini berarti bahwa kapasitas baca secara otomatis diperkecil untuk tabel atas nama Anda. (Opsional) 
  + `default_time_to_live`— Pengaturan Waktu untuk Hidup default dalam hitungan detik untuk tabel.
  + `TAGS`— Daftar tag pasangan kunci-nilai yang akan dilampirkan ke sumber daya saat dibuat. 
  + `clustering_order`terdiri dari yang berikut:
    +  *`column_name`*— Nama kolom. 
    +  *`ASC | DESC`*— Mengatur pengubah urutan ascendant (`ASC`) atau descendant (`DESC`). Jika tidak ditentukan, urutan defaultnya adalah ASC. 

**Contoh**

```
CREATE TABLE IF NOT EXISTS my_keyspace.my_table (
                                            id text,
                                            name text,
                                            region text,
                                            division text,
                                            project text,
                                            role text,
                                            pay_scale int,
                                            vacation_hrs float,
                                            manager_id text,
                                            PRIMARY KEY (id,division))
                                            WITH CUSTOM_PROPERTIES={
                                                'capacity_mode':{
                                                        'throughput_mode': 'PROVISIONED', 'read_capacity_units': 10, 'write_capacity_units': 20
                                                    },
                                                'point_in_time_recovery':{'status': 'enabled'},
                                                'encryption_specification':{
                                                        'encryption_type': 'CUSTOMER_MANAGED_KMS_KEY', 
                                                        'kms_key_identifier':'arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111'
                                                    }
                                            }
                                            AND CLUSTERING ORDER BY (division ASC) 
                                            AND TAGS={'key1':'val1', 'key2':'val2'}
                                            AND default_time_to_live = 3024000;
```

Dalam tabel yang menggunakan kolom pengelompokan, kolom non-clustering dapat dideklarasikan sebagai statis dalam definisi tabel. Untuk informasi selengkapnya tentang kolom statis, lihat[Perkirakan konsumsi kapasitas untuk kolom statis di Amazon Keyspaces](static-columns.md).

**Contoh**

```
CREATE TABLE my_keyspace.my_table (
                                            id int,
                                            name text,
                                            region text,
                                            division text,
                                            project text STATIC,
                                            PRIMARY KEY (id,division));
```

Anda dapat membuat tabel dengan kolom yang menggunakan tipe yang ditentukan pengguna (UDT). Pernyataan pertama dalam contoh menciptakan tipe, pernyataan kedua membuat tabel dengan kolom yang menggunakan tipe.

**Contoh**

```
CREATE TYPE my_keyspace."udt""N@ME" (my_field int);
CREATE TABLE my_keyspace.my_table (my_col1 int pri key, my_col2 "udt""N@ME");
```

## ALTER TABLE
<a name="cql.ddl.table.alter"></a>

Gunakan `ALTER TABLE` pernyataan untuk menambahkan kolom baru, menambahkan tag, atau mengubah properti kustom tabel.

**Sintaksis**

```
alter_table_statement ::=  ALTER TABLE table_name    
 
        [ ADD ( column_definition | column_definition_list)  ] 
        [[ADD | DROP] TAGS {'key1':'val1', 'key2':'val2'}]            
        [ WITH table_options [ , ... ] ] ;
        
column_definition      ::=  column_name cql_type
```

Di mana:
+ `table_name`adalah nama tabel yang akan diubah.
+ `column_definition`adalah nama kolom dan tipe data yang akan ditambahkan.
+ `column_definition_list`adalah daftar kolom yang dipisahkan koma yang ditempatkan di dalam tanda kurung.
+ `table_options`terdiri dari yang berikut:
  + `AUTOSCALING_SETTINGS`termasuk pengaturan penskalaan otomatis opsional untuk tabel yang disediakan. Untuk sintaks dan deskripsi rinci, lihat. [CREATE TABLE](#cql.ddl.table.create) Sebagai contoh, lihat [Konfigurasikan penskalaan otomatis pada tabel yang ada](autoscaling.configureTable.md).
  +  *`cdc`*— Boolean yang menentukan apakah Amazon Keyspaces membuat aliran change data capture (CDC) untuk tabel. Nilai default-nya `false`. Untuk menentukan `view type` saat mengaktifkan aliran, atur `cdc_specification` dengan`CUSTOM_PROPERTIES`. 
  +  *`CUSTOM_PROPERTIES`*— Peta pengaturan khusus untuk Amazon Keyspaces.
    +  `capacity_mode`: Menentukan mode kapasitas throughput baca/tulis untuk tabel. Opsi nya adalah `throughput_mode:PAY_PER_REQUEST` dan `throughput_mode:PROVISIONED`. Mode kapasitas yang disediakan membutuhkan `read_capacity_units` dan `write_capacity_units` sebagai input. Nilai default-nya `throughput_mode:PAY_PER_REQUEST`.
    +  `cdc_specification`: Menentukan `view_type` aliran CDC. Opsinya adalah:
      + `NEW_AND_OLD_IMAGES`— kedua versi baris, sebelum dan sesudah perubahan. Ini adalah opsi default.
      + `NEW_IMAGE`— versi baris setelah perubahan.
      + `OLD_IMAGE`— versi baris sebelum perubahan.
      + `KEYS_ONLY`— kunci partisi dan pengelompokan baris yang diubah.

      Untuk informasi selengkapnya tentang aliran CDC, lihat. [Bekerja dengan aliran change data capture (CDC) di Amazon Keyspaces](cdc.md) Untuk contoh kode, lihat [Aktifkan aliran CDC untuk tabel yang ada di Amazon Keyspaces](keyspaces-enable-cdc-alter-table.md).
    +  `client_side_timestamps`: Menentukan apakah stempel waktu sisi klien diaktifkan atau dinonaktifkan untuk tabel. Opsi nya adalah `{'status': 'enabled'}` dan `{'status': 'disabled'}`. Jika tidak ditentukan, defaultnya adalah`status:disabled`. Setelah stempel waktu sisi klien diaktifkan untuk tabel, pengaturan ini tidak dapat dinonaktifkan. 
    +  `encryption_specification`: Menentukan opsi enkripsi untuk enkripsi saat istirahat. Opsi nya adalah `encryption_type:AWS_OWNED_KMS_KEY` dan `encryption_type:CUSTOMER_MANAGED_KMS_KEY`. Opsi enkripsi kunci yang dikelola pelanggan memerlukan AWS KMS kunci dalam format Amazon Resource Name (ARN) sebagai input:. `kms_key_identifier:ARN` 
    +  `point_in_time_recovery`: Menentukan apakah point-in-time restore diaktifkan atau dinonaktifkan untuk tabel. Opsi nya adalah `status:enabled` dan `status:disabled`. Nilai default-nya `status:disabled`.
    + `replica_updates`: Menentukan pengaturan Wilayah AWS spesifik dari tabel Multi-region. Untuk tabel Multi-region, Anda dapat mengonfigurasi kapasitas baca tabel secara berbeda per Wilayah AWS tabel. Anda dapat melakukan ini dengan mengonfigurasi parameter berikut. Untuk informasi selengkapnya dan contoh tambahan, lihat [Memperbarui kapasitas yang disediakan dan pengaturan penskalaan otomatis untuk tabel Multi-wilayah di Amazon Keyspaces](tables-mrr-autoscaling.md).
      + `region`— Wilayah AWS Replika tabel dengan pengaturan berikut:
        + `read_capacity_units` 
    +  `ttl`: Mengaktifkan Pengaturan kustom Time to Live untuk tabel. Untuk mengaktifkan, gunakan`status:enabled`. Nilai default-nya `status:disabled`. Setelah `ttl` diaktifkan, Anda tidak dapat menonaktifkannya untuk tabel.
+ `default_time_to_live`: Pengaturan Waktu ke Langsung default dalam hitungan detik untuk tabel.
+ `TAGS`adalah daftar tag pasangan kunci-nilai yang akan dilampirkan ke sumber daya.

**catatan**  
Dengan ALTER TABLE, Anda hanya dapat mengubah satu properti kustom. Anda tidak dapat menggabungkan lebih dari satu perintah ALTER TABLE dalam pernyataan yang sama.

**Contoh**

Pernyataan berikut menunjukkan cara menambahkan kolom ke tabel yang ada.

```
ALTER TABLE mykeyspace.mytable ADD (ID int);
```

Pernyataan ini menunjukkan cara menambahkan dua kolom koleksi ke tabel yang ada: 
+ Kolom koleksi beku `col_frozen_list` yang berisi koleksi beku bersarang
+ Kolom koleksi non-beku `col_map` yang berisi koleksi beku bersarang

```
ALTER TABLE my_Table ADD(col_frozen_list FROZEN<LIST<FROZEN<SET<TEXT>>>>, col_map MAP<INT, FROZEN<SET<INT>>>);
```

Contoh berikut menunjukkan cara menambahkan kolom yang menggunakan tipe yang ditentukan pengguna (UDT) ke tabel.

```
ALTER TABLE my_keyspace.my_table ADD (my_column, my_udt;);
```

Untuk mengubah mode kapasitas tabel dan menentukan unit kapasitas baca dan tulis, Anda dapat menggunakan pernyataan berikut.

```
ALTER TABLE mykeyspace.mytable WITH CUSTOM_PROPERTIES={'capacity_mode':{'throughput_mode': 'PROVISIONED', 'read_capacity_units': 10, 'write_capacity_units': 20}};
```

Pernyataan berikut menentukan kunci KMS yang dikelola pelanggan untuk tabel.

```
ALTER TABLE mykeyspace.mytable WITH CUSTOM_PROPERTIES={     
              'encryption_specification':{ 
                      'encryption_type': 'CUSTOMER_MANAGED_KMS_KEY', 
                      'kms_key_identifier':'arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111'     
                  } 
         };
```

Untuk mengaktifkan point-in-time restore untuk tabel, Anda dapat menggunakan pernyataan berikut.

```
ALTER TABLE mykeyspace.mytable WITH CUSTOM_PROPERTIES={'point_in_time_recovery': {'status': 'enabled'}};
```

Untuk menetapkan nilai Time to Live default dalam hitungan detik untuk tabel, Anda dapat menggunakan pernyataan berikut.

```
ALTER TABLE my_table WITH default_time_to_live = 2592000;
```

Pernyataan ini memungkinkan pengaturan Waktu ke Langsung kustom untuk tabel.

```
ALTER TABLE mytable WITH CUSTOM_PROPERTIES={'ttl':{'status': 'enabled'}};
```

## MENGEMBALIKAN TABEL
<a name="cql.ddl.table.restore"></a>

Gunakan `RESTORE TABLE` pernyataan untuk mengembalikan tabel ke titik waktu. Pernyataan ini membutuhkan point-in-time pemulihan untuk diaktifkan di atas meja. Untuk informasi selengkapnya, lihat [Cadangkan dan pulihkan data dengan point-in-time pemulihan untuk Amazon Keyspaces](PointInTimeRecovery.md).

**Sintaksis**

```
restore_table_statement ::=  
    RESTORE TABLE restored_table_name FROM TABLE source_table_name 
                    [ WITH table_options [ , ... ] ];
```

Di mana:
+ `restored_table_name`adalah nama tabel yang dipulihkan.
+ `source_table_name`adalah nama tabel sumber.
+ `table_options`terdiri dari yang berikut:
  + `restore_timestamp`adalah waktu titik pemulihan dalam format ISO 8601. Jika tidak ditentukan, stempel waktu saat ini digunakan.
  +  *`CUSTOM_PROPERTIES`*— Peta pengaturan khusus untuk Amazon Keyspaces.
    +  `capacity_mode`: Menentukan mode kapasitas throughput baca/tulis untuk tabel. Opsi nya adalah `throughput_mode:PAY_PER_REQUEST` dan `throughput_mode:PROVISIONED`. Mode kapasitas yang disediakan membutuhkan `read_capacity_units` dan `write_capacity_units` sebagai input. Defaultnya adalah pengaturan saat ini dari tabel sumber.
    +  `encryption_specification`: Menentukan opsi enkripsi untuk enkripsi saat istirahat. Opsi nya adalah `encryption_type:AWS_OWNED_KMS_KEY` dan `encryption_type:CUSTOMER_MANAGED_KMS_KEY`. Opsi enkripsi kunci yang dikelola pelanggan memerlukan AWS KMS kunci dalam format Amazon Resource Name (ARN) sebagai input:. `kms_key_identifier:ARN` Untuk memulihkan tabel yang dienkripsi dengan kunci terkelola pelanggan ke tabel yang dienkripsi dengan, Kunci milik AWS Amazon Keyspaces memerlukan akses ke kunci tabel sumber. AWS KMS 
    +  `point_in_time_recovery`: Menentukan apakah point-in-time restore diaktifkan atau dinonaktifkan untuk tabel. Opsi nya adalah `status:enabled` dan `status:disabled`. Tidak seperti ketika Anda membuat tabel baru, status default untuk tabel dipulihkan adalah `status:enabled` karena pengaturan diwarisi dari tabel sumber. Untuk menonaktifkan PITR untuk tabel yang dipulihkan, Anda harus mengatur `status:disabled` secara eksplisit.
    + `replica_updates`: Menentukan pengaturan Wilayah AWS spesifik dari tabel Multi-region. Untuk tabel Multi-region, Anda dapat mengonfigurasi kapasitas baca tabel secara berbeda per Wilayah AWS tabel. Anda dapat melakukan ini dengan mengonfigurasi parameter berikut. 
      + `region`— Wilayah AWS Replika tabel dengan pengaturan berikut:
        + `read_capacity_units` 
  + `AUTOSCALING_SETTINGS`termasuk pengaturan penskalaan otomatis opsional untuk tabel yang disediakan. Untuk sintaks dan deskripsi terperinci, lihat. [CREATE TABLE](#cql.ddl.table.create)
  + `TAGS`adalah daftar tag pasangan kunci-nilai yang akan dilampirkan ke sumber daya.

**catatan**  
Tabel yang dihapus hanya dapat dikembalikan ke waktu penghapusan.

**Contoh**

```
RESTORE TABLE mykeyspace.mytable_restored from table mykeyspace.my_table 
WITH restore_timestamp = '2020-06-30T04:05:00+0000'
AND custom_properties = {'point_in_time_recovery':{'status':'disabled'}, 'capacity_mode':{'throughput_mode': 'PROVISIONED', 'read_capacity_units': 10, 'write_capacity_units': 20}}
AND TAGS={'key1':'val1', 'key2':'val2'};
```

## MEJA DROP
<a name="cql.ddl.table.drop"></a>

Gunakan `DROP TABLE` pernyataan untuk menghapus tabel dari keyspace.

**Sintaksis**

```
drop_table_statement ::=  
    DROP TABLE [ IF EXISTS ] table_name
```

Di mana:
+ `IF EXISTS``DROP TABLE`mencegah kegagalan jika tabel tidak ada. (Opsional)
+ `table_name`adalah nama tabel yang akan dijatuhkan.

**Contoh**

```
DROP TABLE my_keyspace.my_table;
```

# Jenis yang ditentukan pengguna () UDTs
<a name="cql.ddl.type"></a>

*UDT* — Pengelompokan bidang dan tipe data yang dapat Anda gunakan untuk menentukan satu kolom di Amazon Keyspaces. Tipe data UDTs yang valid untuk semua tipe data Cassandra yang didukung, termasuk koleksi dan lainnya UDTs yang telah Anda buat di ruang kunci yang sama. Untuk informasi selengkapnya tentang tipe data Cassandra yang didukung, lihat. [Dukungan tipe data Cassandra](cassandra-apis.md#cassandra-data-type)

```
user_defined_type::= udt_name
udt_name::= [ keyspace_name '.' ] identifier
```

**Topics**
+ [BUAT TIPE](#cql.ddl.type.create)
+ [TIPE DROP](#cql.ddl.type.drop)

## BUAT TIPE
<a name="cql.ddl.type.create"></a>

Gunakan `CREATE TYPE` pernyataan untuk membuat tipe baru.

 **Sintaksis**

```
create_type_statement ::=  CREATE TYPE [ IF NOT EXISTS ] udt_name
    '('field_definition ( ',' field_definition)* ')'
            field_definition::= identifier cql_type
```

Di mana:
+ `IF NOT EXISTS``CREATE TYPE`mencegah kegagalan jika tipe sudah ada. (Opsional)
+ `udt_name`adalah nama UDT yang sepenuhnya memenuhi syarat dalam format tipe, misalnya. `my_keyspace.my_type` Jika Anda mendefinisikan keyspace saat ini dengan `USE` pernyataan, Anda tidak perlu menentukan nama keyspace.
+ `field_definition`terdiri dari nama dan tipe.

Tabel berikut menunjukkan contoh nama UDT yang diizinkan. Kolom pertama menunjukkan cara memasukkan nama saat Anda membuat jenis, kolom kedua menunjukkan bagaimana Amazon Keyspaces memformat nama secara internal. Amazon Keyspaces mengharapkan nama yang diformat untuk operasi seperti. `GetType`


| Nama yang dimasukkan | Nama yang diformat | Catatan | 
| --- | --- | --- | 
|  MY\$1UDT  | my\$1udt | Tanpa tanda kutip ganda, Amazon Keyspaces mengonversi semua karakter huruf besar menjadi huruf kecil. | 
|  "MY\$1UDT"  | MY\$1UDT | Dengan tanda kutip ganda, Amazon Keyspaces menghormati karakter huruf besar, dan menghapus tanda kutip ganda dari nama yang diformat. | 
|  "1234"  | 1234 | Dengan tanda kutip ganda, nama dapat dimulai dengan angka, dan Amazon Keyspaces menghapus tanda kutip ganda dari nama yang diformat. | 
|  "Special\$1Ch@r@cters<>\$1\$1"  | Special\$1Ch@r@cters<>\$1\$1 | Dengan tanda kutip ganda, nama dapat berisi karakter khusus, dan Amazon Keyspaces menghapus tanda kutip ganda dari nama yang diformat. | 
|  "nested""""""quotes"  | nested"""quotes | Amazon Keyspaces menghapus tanda kutip ganda luar dan tanda kutip ganda escape dari nama yang diformat. | 

**Contoh**

```
CREATE TYPE my_keyspace.phone (
    country_code int,
    number text
);
```

Anda dapat bersarang UDTs jika UDT bersarang dibekukan. Untuk informasi selengkapnya tentang nilai default dan kuota untuk tipe, lihat[Kuota UDT Amazon Keyspaces dan nilai default](quotas.md#udt-table).

```
CREATE TYPE my_keyspace.user (
    first_name text,
    last_name text,
    phones FROZEN<phone>
);
```

Untuk contoh kode lainnya yang menunjukkan cara membuat UDTs, lihat[Tipe yang ditentukan pengguna (UDTs) di Amazon Keyspaces](udts.md).

## TIPE DROP
<a name="cql.ddl.type.drop"></a>

Gunakan `DROP TYPE` pernyataan untuk menghapus UDT. Anda hanya dapat menghapus tipe yang tidak digunakan oleh tipe atau tabel lain.

 **Sintaksis**

```
drop_type_statement ::=  DROP TYPE [ IF EXISTS ] udt_name
```

Di mana:
+ `IF EXISTS``DROP TYPE`mencegah kegagalan jika tipenya tidak ada. (Opsional)
+ `udt_name`adalah nama UDT yang sepenuhnya memenuhi syarat dalam format tipe, misalnya. `my_keyspace.my_type` Jika Anda mendefinisikan keyspace saat ini dengan `USE` pernyataan, Anda tidak perlu menentukan nama keyspace.

**Contoh**

```
DROP TYPE udt_name;
```

# Pernyataan DHTML (bahasa manipulasi data) di Amazon Keyspaces
<a name="cql.dml"></a>

*Bahasa manipulasi data* (DHTML) adalah kumpulan pernyataan Cassandra Query Language (CQL) yang Anda gunakan untuk mengelola data di Amazon Keyspaces (untuk Apache Cassandra) tabel. Anda menggunakan pernyataan DML untuk menambah, mengubah, atau menghapus data dalam sebuah tabel.

Anda juga menggunakan pernyataan DMLuntuk query data dalam tabel. (Perhatikan bahwa CQL tidak mendukung gabungan atau subkueri.)

**Topics**
+ [SELECT](cql.dml.select.md)
+ [INSERT](cql.dml.insert.md)
+ [UPDATE](cql.dml.update.md)
+ [DELETE](cql.dml.delete.md)

# SELECT
<a name="cql.dml.select"></a>

Gunakan pernyataan SELECT untuk menanyakan data. 

**Sintaksis**

```
select_statement ::=  SELECT  [ JSON ] ( select_clause | '*' )
                      FROM table_name
                      [ WHERE 'where_clause' ]
                      [ ORDER BY 'ordering_clause' ]
                      [ LIMIT (integer | bind_marker) ]
                      [ ALLOW FILTERING ]
select_clause    ::=  selector [ AS identifier ] ( ',' selector [ AS identifier ] )
selector         ::=  column_name
                      | term
                      | CAST '(' selector AS cql_type ')'
                      | function_name '(' [ selector ( ',' selector )* ] ')'
where_clause     ::=  relation ( AND relation )*
relation         ::=  column_name operator term
                      TOKEN
operator         ::=  '=' | '<' | '>' | '<=' | '>=' | IN | CONTAINS | CONTAINS KEY
ordering_clause  ::=  column_name [ ASC | DESC ] ( ',' column_name [ ASC | DESC ] )*
```

**Contoh**

```
SELECT name, id, manager_id FROM "myGSGKeyspace".employees_tbl ;

SELECT JSON name, id, manager_id FROM "myGSGKeyspace".employees_tbl ;
```

Untuk tabel yang memetakan tipe data yang disandikan JSON ke tipe data Amazon Keyspaces, lihat. [Pengkodean JSON dari tipe data Amazon Keyspaces](cql.elements.md#cql.data-types.JSON)

**Menggunakan kata `IN` kunci**

`IN`Kata kunci menentukan kesetaraan untuk satu atau lebih nilai. Ini dapat diterapkan ke kunci partisi dan kolom pengelompokan. Hasil dikembalikan dalam urutan kunci disajikan dalam `SELECT` pernyataan.

**Contoh**

```
SELECT * from mykeyspace.mytable WHERE primary.key1 IN (1,2) and clustering.key1 = 2;
SELECT * from mykeyspace.mytable WHERE primary.key1 IN (1,2) and clustering.key1 <= 2;
SELECT * from mykeyspace.mytable WHERE primary.key1 = 1 and clustering.key1 IN (1, 2);
SELECT * from mykeyspace.mytable WHERE primary.key1 <= 2 and clustering.key1 IN (1, 2) ALLOW FILTERING;
```

Untuk informasi selengkapnya tentang `IN` kata kunci dan cara Amazon Keyspaces memproses pernyataan, lihat. [Gunakan `IN` operator dengan `SELECT` pernyataan dalam kueri di Amazon Keyspaces](in.select.md)

**Hasil pemesanan**

`ORDER BY`Klausa menentukan urutan dari hasil yang dikembalikan. Dibutuhkan sebagai argumen daftar nama kolom bersama dengan urutan pengurutan untuk setiap kolom. Anda hanya dapat menentukan kolom pengelompokan dalam klausa pengurutan. Kolom non-clustering tidak diperbolehkan. Opsi urutan sortir adalah `ASC` untuk urutan naik dan `DESC` untuk urutan urutan menurun. Jika urutan pengurutan dihilangkan, urutan default kolom pengelompokan digunakan. Untuk kemungkinan urutan pesanan, lihat[Pesan hasil dengan `ORDER BY` di Amazon Keyspaces](ordering-results.md).

**Contoh**

```
SELECT name, id, division, manager_id FROM "myGSGKeyspace".employees_tbl WHERE id = '012-34-5678' ORDER BY division;
```

Saat menggunakan `ORDER BY` dengan `IN` kata kunci, hasil diurutkan dalam halaman. Pemesanan ulang penuh dengan pagination dinonaktifkan tidak didukung.

**TOKEN**

Anda dapat menerapkan `TOKEN` fungsi ke `PARTITION KEY` kolom `SELECT` dan `WHERE` klausa. Dengan `TOKEN` fungsi tersebut, Amazon Keyspaces mengembalikan baris berdasarkan nilai token yang dipetakan `PARTITION_KEY` daripada nilai. `PARTITION KEY`

`TOKEN`hubungan tidak didukung dengan `IN` kata kunci.

**Contoh**

```
SELECT TOKEN(id) from my_table; 

SELECT TOKEN(id) from my_table WHERE TOKEN(id) > 100 and TOKEN(id) < 10000;
```

**Fungsi TTL**

Anda dapat menggunakan `TTL` fungsi dengan `SELECT` pernyataan untuk mengambil waktu kedaluwarsa dalam detik yang disimpan untuk kolom. Jika tidak ada `TTL` nilai yang ditetapkan, fungsi kembali`null`.

**Contoh**

```
SELECT TTL(my_column) from my_table;
```

`TTL`Fungsi ini tidak dapat digunakan pada kolom multi-sel seperti koleksi.

**WRITETIMEfungsi**

Anda dapat menggunakan `WRITETIME` fungsi dengan `SELECT` pernyataan untuk mengambil stempel waktu yang disimpan sebagai metadata untuk nilai kolom hanya jika tabel menggunakan stempel waktu sisi klien. Untuk informasi selengkapnya, lihat [Stempel waktu sisi klien di Amazon Keyspaces](client-side-timestamps.md). 

```
SELECT WRITETIME(my_column) from my_table;
```

`WRITETIME`Fungsi ini tidak dapat digunakan pada kolom multi-sel seperti koleksi.

**catatan**  
Untuk kompatibilitas dengan perilaku driver Cassandra yang telah ditetapkan, kebijakan otorisasi berbasis tag tidak diberlakukan saat Anda melakukan operasi pada tabel sistem dengan menggunakan panggilan API Cassandra Query Language (CQL) melalui driver Cassandra dan alat pengembang. Untuk informasi selengkapnya, lihat [Akses sumber daya Amazon Keyspaces berdasarkan tag](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-tags).

# INSERT
<a name="cql.dml.insert"></a>

Gunakan `INSERT` pernyataan untuk menambahkan baris ke tabel.

**Sintaksis**

```
insert_statement ::=  INSERT INTO table_name ( names_values | json_clause )
                      [ IF NOT EXISTS ]
                      [ USING update_parameter ( AND update_parameter )* ]
names_values     ::=  names VALUES tuple_literal
json_clause      ::=  JSON string [ DEFAULT ( NULL | UNSET ) ]                
names            ::=  '(' column_name ( ',' column_name )* ')'
```

**Contoh**

```
INSERT INTO "myGSGKeyspace".employees_tbl (id, name, project, region, division, role, pay_scale, vacation_hrs, manager_id)
VALUES ('012-34-5678','Russ','NightFlight','US','Engineering','IC',3,12.5, '234-56-7890') ;
```

**Perbarui parameter**

`INSERT`mendukung nilai-nilai berikut sebagai`update_parameter`:
+ `TTL`— Nilai waktu dalam hitungan detik. Nilai maksimum yang dapat dikonfigurasi adalah 630.720.000 detik, yang setara dengan 20 tahun.
+ `TIMESTAMP`— `bigint` Nilai yang mewakili jumlah mikrodetik sejak waktu dasar standar yang dikenal sebagaiepoch: 1 Januari 1970 pukul 00:00:00 GMT. Stempel waktu di Amazon Keyspaces harus berada di antara kisaran 2 hari di masa lalu dan 5 menit di masa depan.

**Contoh**

```
INSERT INTO my_table (userid, time, subject, body, user)
        VALUES (B79CB3BA-745E-5D9A-8903-4A02327A7E09, 96a29100-5e25-11ec-90d7-b5d91eceda0a, 'Message', 'Hello','205.212.123.123')
        USING TTL 259200;
```

**Dukungan JSON**

Untuk tabel yang memetakan tipe data yang disandikan JSON ke tipe data Amazon Keyspaces, lihat. [Pengkodean JSON dari tipe data Amazon Keyspaces](cql.elements.md#cql.data-types.JSON)

Anda dapat menggunakan `JSON` kata kunci untuk menyisipkan peta `JSON` -encoded sebagai satu baris. Untuk kolom yang ada dalam tabel tetapi dihilangkan dalam pernyataan sisipan JSON, gunakan `DEFAULT UNSET` untuk mempertahankan nilai yang ada. Gunakan `DEFAULT NULL` untuk menulis nilai NULL ke setiap baris kolom yang dihilangkan dan menimpa nilai yang ada (biaya penulisan standar berlaku). `DEFAULT NULL`adalah opsi default.

**Contoh**

```
INSERT INTO "myGSGKeyspace".employees_tbl JSON '{"id":"012-34-5678",
                                                 "name": "Russ",
                                                 "project": "NightFlight",
                                                 "region": "US",
                                                 "division": "Engineering",
                                                 "role": "IC",
                                                 "pay_scale": 3,
                                                 "vacation_hrs": 12.5,
                                                 "manager_id": "234-56-7890"}';
```

Jika data JSON berisi kunci duplikat, Amazon Keyspaces menyimpan nilai terakhir untuk kunci (mirip dengan Apache Cassandra). Dalam contoh berikut, di mana kunci duplikat`id`, nilainya `234-56-7890` digunakan.

**Contoh**

```
INSERT INTO "myGSGKeyspace".employees_tbl JSON '{"id":"012-34-5678",
                                                 "name": "Russ",
                                                 "project": "NightFlight",
                                                 "region": "US",
                                                 "division": "Engineering",
                                                 "role": "IC",
                                                 "pay_scale": 3,
                                                 "vacation_hrs": 12.5,
                                                 "id": "234-56-7890"}';
```

# UPDATE
<a name="cql.dml.update"></a>

Gunakan `UPDATE` pernyataan untuk memodifikasi baris dalam tabel.

**Sintaksis**

```
update_statement ::=  UPDATE table_name
                      [ USING update_parameter ( AND update_parameter )* ]
                      SET assignment ( ',' assignment )*
                      WHERE where_clause
                      [ IF ( EXISTS | condition ( AND condition )*) ]
update_parameter ::=  ( integer | bind_marker )
assignment       ::=  simple_selection '=' term
                     | column_name '=' column_name ( '+' | '-' ) term
                     | column_name '=' list_literal '+' column_name
simple_selection ::=  column_name
                     | column_name '[' term ']'
                     | column_name '.' `field_name
condition        ::=  simple_selection operator term
```

**Contoh**

```
UPDATE "myGSGKeyspace".employees_tbl SET pay_scale = 5 WHERE id = '567-89-0123' AND division = 'Marketing' ;
```

Untuk menambah`counter`, gunakan sintaks berikut. Untuk informasi selengkapnya, lihat [Penghitung](cql.elements.md#cql.data-types.numeric.counters).

```
UPDATE ActiveUsers SET counter = counter + 1  WHERE user = A70FE1C0-5408-4AE3-BE34-8733E5K09F14 AND action = 'click';
```

**Perbarui parameter**

`UPDATE`mendukung nilai-nilai berikut sebagai`update_parameter`:
+ `TTL`— Nilai waktu dalam hitungan detik. Nilai maksimum yang dapat dikonfigurasi adalah 630.720.000 detik, yang setara dengan 20 tahun.
+ `TIMESTAMP`— `bigint` Nilai yang mewakili jumlah mikrodetik sejak waktu dasar standar yang dikenal sebagaiepoch: 1 Januari 1970 pukul 00:00:00 GMT. Stempel waktu di Amazon Keyspaces harus berada di antara kisaran 2 hari di masa lalu dan 5 menit di masa depan.

**Contoh**

```
UPDATE my_table (userid, time, subject, body, user)
        VALUES (B79CB3BA-745E-5D9A-8903-4A02327A7E09, 96a29100-5e25-11ec-90d7-b5d91eceda0a, 'Message', 'Hello again','205.212.123.123')
        USING TIMESTAMP '2022-11-03 13:30:54+0400';
```

# DELETE
<a name="cql.dml.delete"></a>

Gunakan `DELETE` pernyataan untuk menghapus baris dari tabel.

**Sintaksis**

```
delete_statement ::=  DELETE [ simple_selection ( ',' simple_selection ) ]
                      FROM table_name
                      [ USING update_parameter ( AND update_parameter )* ]
                      WHERE where_clause
                      [ IF ( EXISTS | condition ( AND condition )*) ]

simple_selection ::=  column_name
                     | column_name '[' term ']'
                     | column_name '.' `field_name

condition        ::=  simple_selection operator term
```

Di mana:
+ `table_name`adalah tabel yang berisi baris yang ingin Anda hapus.

**Contoh**

```
DELETE manager_id FROM "myGSGKeyspace".employees_tbl WHERE id='789-01-2345' AND division='Executive' ;
```

`DELETE`mendukung nilai berikut sebagai`update_parameter`:
+ `TIMESTAMP`— `bigint` Nilai yang mewakili jumlah mikrodetik sejak waktu dasar standar yang dikenal sebagaiepoch: 1 Januari 1970 pukul 00:00:00 GMT.

# Fungsi bawaan di Amazon Keyspaces
<a name="cql.functions"></a>

Amazon Keyspaces (untuk Apache Cassandra) mendukung berbagai fungsi bawaan yang dapat Anda gunakan dalam pernyataan Cassandra Query Language (CQL).

**Topics**
+ [Fungsi skalar](#cql.functions.scalar)

## Fungsi skalar
<a name="cql.functions.scalar"></a>

*Fungsi skalar* melakukan perhitungan pada nilai tunggal dan mengembalikan hasilnya sebagai nilai tunggal. Amazon Keyspaces mendukung fungsi skalar berikut.


****  

| Fungsi | Deskripsi | 
| --- | --- | 
|  `blobAsType`  | Mengembalikan nilai dari tipe data yang ditentukan. | 
|  `cast`  | Mengkonversi satu tipe data asli ke tipe data asli lainnya. | 
|  `currentDate`  | Mengembalikan arus date/time sebagai tanggal. | 
|  `currentTime`  | Mengembalikan arus date/time sebagai waktu. | 
|  `currentTimestamp`  | Mengembalikan arus date/time sebagai stempel waktu. | 
|  `currentTimeUUID`  | Mengembalikan arus date/time sebagaitimeuuid. | 
|  `fromJson`  | Mengkonversi string JSON ke tipe data kolom yang dipilih.  | 
|  `maxTimeuuid`  | Mengembalikan kemungkinan terbesar timeuuid untuk stempel waktu atau string tanggal.  | 
|  `minTimeuuid`  | Mengembalikan sekecil mungkin timeuuid untuk stempel waktu atau string tanggal.  | 
|  `now`  | Mengembalikan unik barutimeuuid.  | 
|  `toDate`  | Mengonversi salah satu timeuuid atau stempel waktu ke jenis tanggal. | 
|  `toJson`  | Mengembalikan nilai kolom kolom yang dipilih dalam format JSON.  | 
|  `token`  | Mengembalikan nilai hash dari kunci partisi.  | 
|  `toTimestamp`  | Mengonversi tanggal timeuuid atau tanggal menjadi stempel waktu. | 
|  `TTL`  | Mengembalikan waktu kedaluwarsa dalam hitungan detik untuk kolom. | 
|  `typeAsBlob`  | Mengkonversi tipe data yang ditentukan menjadi. blob | 
|  `toUnixTimestamp`  | Mengkonversi salah satu timeuuid atau stempel waktu menjadi a. bigInt | 
|  `uuid`  | Mengembalikan versi acak 4 UUID.  | 
|  `writetime`  | Mengembalikan stempel waktu dari nilai kolom yang ditentukan. | 
|  `dateOf`  | (Usang) Mengekstrak stempel waktu dari atimeuuid, dan mengembalikan nilai sebagai tanggal. | 
|  `unixTimestampOf`  | (Usang) Mengekstrak stempel waktu dari atimeuuid, dan mengembalikan nilainya sebagai stempel waktu integer 64-bit mentah.  | 