

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# テーブル
<a name="cql.ddl.table"></a>

*テーブル*は Amazon Keyspaces の主要なデータ構造です。テーブル内のデータは行と列で編成されます。これらの列のサブセットは、パーティションキーの指定によるパーティショニング (および最終的にはデータ配置) を決定するために使用されます。

別の列セットをクラスタリング列に定義できます。つまり、クエリ実行に述語として盛り込めるということです。

デフォルトでは、新規のテーブルは*オンデマンド*のスループットキャパシティがある状態で作成されます。新規のテーブルと既存のテーブルのキャパシティモードは変更できます。読み込み/書き込みのキャパシティスループットモードの詳細については、「[Amazon Keyspaces で読み取り/書き込みのキャパシティモードを設定する](ReadWriteCapacityMode.md)」を参照してください。

プロビジョンドモードのテーブルでは、オプションの `AUTOSCALING_SETTINGS` を設定できます。Amazon Keyspaces の自動スケーリングと使用可能なオプションの詳細については、「[既存のテーブルに対して自動スケーリングを設定する](autoscaling.configureTable.md)」を参照してください。

Amazon Keyspaces テーブルのクォータ制限と制約については、「[Amazon Keyspaces (Apache Cassandra 向け) のクォータ](quotas.md)」を参照してください。

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

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

`CREATE TABLE` ステートメントを使用して新しいテーブルを作成します。

 [**Syntax (構文)**]

```
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) )*
```

Where:
+ `table_name` は作成するテーブルの名前です。完全修飾名には、キースペースプレフィックスが含まれます。または、keyspace ステートメントを使用して現在の`USE`キースペースを設定することもできます。
+ `column_definition` は以下で構成されます。
  +  *`column_name`* – 列の名前。
  + `cql_type` — Amazon Keyspaces のデータ型 (「[データ型](cql.elements.md#cql.data-types)」を参照)。
  + `FROZEN` – ユーザー定義またはタイプ `collection` (、、 など`SET``MAP`) `LIST`のこの列をフリーズとして指定します。*フリーズ*コレクションは 1 つの不変の値にシリアル化され、`BLOB`と同様に扱われます。詳細については、「[コレクション型](cql.elements.md#cql.data-types.collection)」を参照してください。
  + `STATIC` — この列を静的として指定します。静的列には、同じパーティション内のすべての行で共有される値が保存されます。
  + `PRIMARY KEY` — この列をテーブルのプライマリキーとして指定します。
+ `primary_key` は以下で構成されます。
  + `partition_key`
  + `clustering_columns`
+ `partition_key`:
  + パーティションキーは、1 つの列である場合もあれば、2 つ以上の列で構成される複合値である場合もあります。プライマリキーのパーティションキー部分は必須で、これによって Amazon Keyspaces におけるデータの保存方法が決まります。
+ `clustering_columns`:
  + プライマリキーのオプションのクラスタリング列部分は、各パーティションにおけるデータのクラスター処理方法とソート方法を決定するものです。
+ `table_options` は以下で構成されます。
  + *`CLUSTERING ORDER BY`* — テーブルのデフォルトの CLUSTERING ORDER は、`ASC` (昇順) ソート方向のクラスタリングキーで構成されます。デフォルトのソート動作をオーバーライドするには、この値を指定します。
  +  *`cdc`* – Amazon Keyspaces がテーブルの変更データキャプチャ (CDC) ストリームを作成するかどうかを指定するブール値。デフォルトは `false` です。ストリームを有効にする`view type`ときに を指定するには、 `cdc_specification`で `CUSTOM_PROPERTIES` を設定します。
  +  *`CUSTOM_PROPERTIES`* — Amazon Keyspaces に固有の設定のマップ。
    +  `capacity_mode`: テーブルの読み取り/書き込みスループットキャパシティモードを指定します。オプションは `throughput_mode:PAY_PER_REQUEST` と `throughput_mode:PROVISIONED` です。プロビジョンドキャパシティモードには入力として `read_capacity_units` と `write_capacity_units` が必要です。デフォルトは `throughput_mode:PAY_PER_REQUEST` です。
    +  `cdc_specification`: CDC ストリーム`view_type`の を指定します。オプションは以下のとおりです。
      + `NEW_AND_OLD_IMAGES` – 変更前と変更後の両方のバージョンの行。これがデフォルトです。
      + `NEW_IMAGE` – 変更後の行のバージョン。
      + `OLD_IMAGE` – 変更前の行のバージョン。
      + `KEYS_ONLY` – 変更された行のパーティションキーとクラスタリングキー。

      CDC ストリームの詳細については、「」を参照してください[Amazon Keyspaces での変更データキャプチャ (CDC) ストリームの使用](cdc.md)。コード例については、[Amazon Keyspaces で新しいテーブルを作成するときに CDC ストリームを有効にする](keyspaces-enable-cdc-new-table.md) を参照してください。
    +  `client_side_timestamps`: テーブルに対してクライアント側のタイムスタンプを有効にするか無効にするかを指定します。オプションは `{'status': 'enabled'}` と `{'status': 'disabled'}` です。指定しない場合、デフォルトの `status:disabled` になります。クライアント側のタイムスタンプをテーブルで有効にした後は、この設定を無効にすることはできません。
    +  `encryption_specification`: 保管データ暗号化の暗号化オプションを指定します。指定しない場合、デフォルトの `encryption_type:AWS_OWNED_KMS_KEY` になります。暗号化オプションのカスタマーマネージドキーでは、入力として Amazon リソースネーム (ARN) 形式の AWS KMS キーが必要です: `kms_key_identifier:ARN`: `kms_key_identifier:ARN`。
    +  `point_in_time_recovery`: テーブルに対してポイントインタイムリストアを有効にするか無効にするかを指定します。オプションは `status:enabled` と `status:disabled` です。指定しない場合、デフォルトの `status:disabled` になります。
    + `replica_updates`: マルチリージョンテーブルの AWS リージョン固有の設定を指定します。マルチリージョンテーブルの場合、テーブルの読み取りキャパシティの設定を AWS リージョンごとに変えることができます。その場合は、次のパラメータを設定します。詳細な説明と例については、[Amazon Keyspaces で自動スケーリングが有効なプロビジョンドモードのマルチリージョンテーブルを作成する](tables-mrr-create-provisioned.md) を参照してください。
      + `region` – 次の設定のテーブルレプリカ AWS リージョン の 。
        + `read_capacity_units`
    +  `TTL`: テーブルの 有効期限 (TTL) カスタム設定を有効にします。有効にする場合は、`status:enabled` を使用します。デフォルトは `status:disabled` です。`TTL` を有効にした後、そのテーブルに対してそれを無効にすることはできません。
  + `AUTOSCALING_SETTINGS` には、プロビジョンドモードのテーブルに対する次のオプションの設定が含まれています。詳細な説明と例については、[自動スケーリングを有効にして新規テーブルを作成する](autoscaling.createTable.md) を参照してください。
    + `provisioned_write_capacity_autoscaling_update`:
      + `autoscaling_disabled` – 書き込みキャパシティの自動スケーリングを有効にするには、値を `false` に設定します。デフォルトは `true` です。(オプション)
      + `minimum_units` – テーブルで常に処理できるようにしておくべき最低限の書き込みスループット。1 から、アカウントの秒単位のスループット上限 (デフォルトは 40,000) までの値を指定する必要があります。
      + `maximum_units` – テーブルで常に処理できるようにしておくべき最大限の書き込みスループット。1 から、アカウントの秒単位のスループット上限 (デフォルトは 40,000) までの値を指定する必要があります。
      + `scaling_policy` – Amazon Keyspaces はターゲット追跡ポリシーに対応しています。自動スケーリングのターゲットは、テーブルのプロビジョニング済みの書き込みキャパシティです。
        + `target_tracking_scaling_policy_configuration` – ターゲット追跡ポリシーを定義するには、目標 (ターゲット) 値を定義する必要があります。ターゲット追跡とクールダウン期間の詳細については、「Application Auto Scaling ユーザーガイド**」の「[ターゲット追跡スケーリングポリシー](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html)」を参照してください。
          + `target_value` – テーブルの目標とする使用率。Amazon Keyspaces の自動スケーリングでは、プロビジョニング済みのキャパシティに占める実際のキャパシティ消費の割合が、この値と同じか近い値で維持されます。`target_value` をパーセンテージとして定義します。20～90 の倍精度浮動小数点数。(必須)
          + `scale_in_cooldown` – スケーリングアクティビティ間のクールダウン期間 (秒数)。この期間を使って、別のスケールインアクティビティが開始する前にテーブルを安定させます。値を指定しない場合、デフォルト値は 0 です。(オプション)
          + `scale_out_cooldown` – スケーリングアクティビティ間のクールダウン期間 (秒数)。この期間を使って、別のスケールアウトアクティビティが開始する前にテーブルを安定させます。値を指定しない場合、デフォルト値は 0 です。(オプション)
          + `disable_scale_in`: テーブルに対して `scale-in` が無効か有効かを指定する`boolean`。このパラメータは、デフォルトでは無効になっています。`scale-in` を有効にするには、`boolean` 値を `FALSE` に設定します。その場合は、テーブルのキャパシティが自動的にスケールダウンされます。(オプション) 
    + `provisioned_read_capacity_autoscaling_update`:
      + `autoscaling_disabled` – 読み取りキャパシティの自動スケーリングを有効にするには、値を `false` に設定します。デフォルトは `true` です。(オプション)
      + `minimum_units` – テーブルで常に処理できるようにしておくべき最低限のスループット。1 から、アカウントの秒単位のスループット上限 (デフォルトは 40,000) までの値を指定する必要があります。
      + `maximum_units` – テーブルで常に処理できるようにしておくべき最大限のスループット。1 から、アカウントの秒単位のスループット上限 (デフォルトは 40,000) までの値を指定する必要があります。
      + `scaling_policy` – Amazon Keyspaces はターゲット追跡ポリシーに対応しています。自動スケーリングのターゲットは、テーブルのプロビジョニング済みの読み取りキャパシティです。
        + `target_tracking_scaling_policy_configuration` – ターゲット追跡ポリシーを定義するには、目標 (ターゲット) 値を定義する必要があります。ターゲット追跡とクールダウン期間の詳細については、「Application Auto Scaling ユーザーガイド**」の「[ターゲット追跡スケーリングポリシー](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html)」を参照してください。
          + `target_value` – テーブルの目標とする使用率。Amazon Keyspaces の自動スケーリングでは、プロビジョニング済みのキャパシティに占める実際のキャパシティ消費の割合が、この値と同じか近い値で維持されます。`target_value` をパーセンテージとして定義します。20～90 の倍精度浮動小数点数。(必須)
          + `scale_in_cooldown` – スケーリングアクティビティ間のクールダウン期間 (秒数)。この期間を使って、別のスケールインアクティビティが開始する前にテーブルを安定させます。値を指定しない場合、デフォルト値は 0 です。(オプション)
          + `scale_out_cooldown` – スケーリングアクティビティ間のクールダウン期間 (秒数)。この期間を使って、別のスケールアウトアクティビティが開始する前にテーブルを安定させます。値を指定しない場合、デフォルト値は 0 です。(オプション)
          + `disable_scale_in`: テーブルに対して `scale-in` が無効か有効かを指定する`boolean`。このパラメータは、デフォルトでは無効になっています。`scale-in` を有効にするには、`boolean` 値を `FALSE` に設定します。その場合は、テーブルのキャパシティが自動的にスケールダウンされます。(オプション) 
    + `replica_updates`: マルチリージョンテーブルの AWS リージョン 特定の自動スケーリング設定を指定します。マルチリージョンテーブルの場合、テーブルの読み取りキャパシティの設定を AWS リージョンごとに変えることができます。その場合は、次のパラメータを設定します。詳細な説明と例については、[Amazon Keyspaces でマルチリージョンテーブルのプロビジョンドキャパシティと自動スケーリングの設定を更新する](tables-mrr-autoscaling.md) を参照してください。
      + `region` – 次の設定のテーブルレプリカ AWS リージョン の 。
        + `provisioned_read_capacity_autoscaling_update`
          + `autoscaling_disabled` – テーブルの読み取りキャパシティの自動スケーリングを有効にするには、値を `false` に設定します。デフォルトは `true` です。(オプション) 
**注記**  
マルチリージョンテーブルの自動スケーリングは、そのテーブルのすべてのレプリカに対して有効または無効にする必要があります。
          + `minimum_units` – テーブルで常に処理できるようにしておくべき最低限の読み取りスループット。1 から、アカウントの秒単位のスループット上限 (デフォルトは 40,000) までの値を指定する必要があります。
          + `maximum_units` – テーブルで常に処理できるようにしておくべき最大限の読み取りスループット。1 から、アカウントの秒単位のスループット上限 (デフォルトは 40,000) までの値を指定する必要があります。
          + `scaling_policy` – Amazon Keyspaces はターゲット追跡ポリシーに対応しています。自動スケーリングのターゲットは、テーブルのプロビジョニング済みの読み取りキャパシティです。
            + `target_tracking_scaling_policy_configuration` – ターゲット追跡ポリシーを定義するには、目標 (ターゲット) 値を定義する必要があります。ターゲット追跡とクールダウン期間の詳細については、「Application Auto Scaling ユーザーガイド**」の「[ターゲット追跡スケーリングポリシー](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html)」を参照してください。
              + `target_value` – テーブルの目標とする使用率。Amazon Keyspaces の自動スケーリングは、プロビジョニング済みの読み取りキャパシティに占める実際の読み取りキャパシティ消費の割合が、この値と同じか近い値で維持されます。`target_value` をパーセンテージとして定義します。20～90 の倍精度浮動小数点数。(必須)
              + `scale_in_cooldown` – スケーリングアクティビティ間のクールダウン期間 (秒数)。この期間を使って、別のスケールインアクティビティが開始する前にテーブルを安定させます。値を指定しない場合、デフォルト値は 0 です。(オプション)
              + `scale_out_cooldown` – スケーリングアクティビティ間のクールダウン期間 (秒数)。この期間を使って、別のスケールアウトアクティビティが開始する前にテーブルを安定させます。値を指定しない場合、デフォルト値は 0 です。(オプション)
              + `disable_scale_in`: テーブルに対して `scale-in` が無効か有効かを指定する`boolean`。このパラメータは、デフォルトでは無効になっています。`scale-in` を有効にするには、`boolean` 値を `FALSE` に設定します。つまり、テーブルの読み取りキャパシティが自動的にスケールダウンされます。(オプション) 
  + `default_time_to_live` — テーブルのデフォルトの有効期限 (TTL) 設定 (秒)。
  + `TAGS` – 作成時にリソースにアタッチされるキーバリューペアタグのリスト。
  + `clustering_order` は以下で構成されます。
    +  *`column_name`* – 列の名前。
    +  *`ASC | DESC`* — 昇順修飾子 (`ASC`) または降順修飾子 (`DESC`) を設定します。指定しない場合、デフォルトの順序 ASC になります。

**例**

```
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;
```

クラスタリング列を使用しているテーブルでは、テーブル定義で非クラスタリング列を静的として宣言できます。静的列の詳細については、「[Amazon Keyspaces の静的列のキャパシティ消費量を推定する](static-columns.md)」を参照してください。

**例**

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

ユーザー定義タイプ (UDT) を使用する列を使用してテーブルを作成できます。例の最初のステートメントは タイプを作成し、2 番目のステートメントは タイプを使用する列を持つテーブルを作成します。

**例**

```
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>

`ALTER TABLE` ステートメントを使用して、新しい列の追加、タグの追加、テーブルのカスタムプロパティの変更を行います。

**[Syntax]** (構文)

```
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
```

Where:
+ `table_name` は変更するテーブルの名前です。
+ `column_definition` は追加する列の名前とデータ型です。
+ `column_definition_list` は括弧内に配置された列のリストでカンマで区切られています。
+ `table_options` は以下で構成されます。
  + `AUTOSCALING_SETTINGS` には、プロビジョニング済みのテーブルに対するオプションの自動スケーリング設定が含まれています。構文と詳しい説明については、「[CREATE TABLE](#cql.ddl.table.create)」を参照してください。例については「[既存のテーブルに対して自動スケーリングを設定する](autoscaling.configureTable.md)」を参照してください。
  +  *`cdc`* – Amazon Keyspaces がテーブルの変更データキャプチャ (CDC) ストリームを作成するかどうかを指定するブール値。デフォルトは `false` です。ストリームを有効にする`view type`ときに を指定するには、 `cdc_specification`で `CUSTOM_PROPERTIES` を設定します。
  +  *`CUSTOM_PROPERTIES`* — Amazon Keyspaces に固有の設定のマップ。
    +  `capacity_mode`: テーブルの読み取り/書き込みスループットキャパシティモードを指定します。オプションは `throughput_mode:PAY_PER_REQUEST` と `throughput_mode:PROVISIONED` です。プロビジョンドキャパシティモードには入力として `read_capacity_units` と `write_capacity_units` が必要です。デフォルトは `throughput_mode:PAY_PER_REQUEST` です。
    +  `cdc_specification`: CDC ストリーム`view_type`の を指定します。オプションは以下のとおりです。
      + `NEW_AND_OLD_IMAGES` – 変更前と変更後の両方のバージョンの行。これがデフォルトです。
      + `NEW_IMAGE` – 変更後の行のバージョン。
      + `OLD_IMAGE` – 変更前の行のバージョン。
      + `KEYS_ONLY` – 変更された行のパーティションキーとクラスタリングキー。

      CDC ストリームの詳細については、「」を参照してください[Amazon Keyspaces での変更データキャプチャ (CDC) ストリームの使用](cdc.md)。コード例については、[Amazon Keyspaces で既存のテーブルの CDC ストリームを有効にする](keyspaces-enable-cdc-alter-table.md) を参照してください。
    +  `client_side_timestamps`: テーブルに対してクライアント側のタイムスタンプを有効にするか無効にするかを指定します。オプションは `{'status': 'enabled'}` と `{'status': 'disabled'}` です。指定しない場合、デフォルトの `status:disabled` になります。クライアント側のタイムスタンプをテーブルで有効にした後は、この設定を無効にすることはできません。
    +  `encryption_specification`: 保管データ暗号化の暗号化オプションを指定します。オプションは `encryption_type:AWS_OWNED_KMS_KEY` と `encryption_type:CUSTOMER_MANAGED_KMS_KEY` です。暗号化オプションのカスタマーマネージドキーには、入力として Amazon リソースネーム (ARN) 形式の AWS KMS キーが必要です: `kms_key_identifier:ARN`。
    +  `point_in_time_recovery`: テーブルに対してポイントインタイムリストアを有効にするか無効にするかを指定します。オプションは `status:enabled` と `status:disabled` です。デフォルトは `status:disabled` です。
    + `replica_updates`: マルチリージョンテーブルの特定 AWS リージョン の設定を指定します。マルチリージョンテーブルの場合、テーブルの読み取りキャパシティの設定を AWS リージョンごとに変えることができます。その場合は、次のパラメータを設定します。詳細な説明と例については、[Amazon Keyspaces でマルチリージョンテーブルのプロビジョンドキャパシティと自動スケーリングの設定を更新する](tables-mrr-autoscaling.md) を参照してください。
      + `region` – 次の設定のテーブルレプリカ AWS リージョン の 。
        + `read_capacity_units` 
    +  `ttl`: テーブルの 有効期限 (TTL) カスタム設定を有効にします。有効にする場合は、`status:enabled` を使用します。デフォルトは `status:disabled` です。`ttl` を有効にした後、そのテーブルに対してそれを無効にすることはできません。
+ `default_time_to_live`: テーブルのデフォルトの有効期限 (TTL) 設定 (秒)。
+ `TAGS` はリソースにアタッチされるキーバリューペアタグのリストです。

**注記**  
ALTER TABLE では、1 つのカスタムプロパティしか変更できません。同一ステートメント内で複数の ALTER TABLE コマンドを組み合わせることはできません。

**例**

次のステートメントは、既存のテーブルに列を追加する方法を示しています。

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

このステートメントは、既存のテーブルに 2 つのコレクション列を追加する方法を示します。
+ ネストされたフリーズコレクションを含むフリーズコレクション列 `col_frozen_list`
+ ネストされたフリーズコレクションを含む非フリーズコレクション列 `col_map`

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

次の例は、ユーザー定義タイプ (UDT) を使用する列をテーブルに追加する方法を示しています。

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

テーブルのキャパシティモードを変更し、読み取りおよび書き込みのキャパシティユニットを指定するには、次のステートメントを使用します。

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

次のステートメントでは、テーブルのカスタマー管理 KMS キーが指定されます。

```
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'     
                  } 
         };
```

テーブルのポイントインタイムリストアを有効にするには、次のステートメントを使用できます。

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

テーブルのデフォルトの有効期限 (TTL) 値を秒単位で設定するには、次のステートメントを使用します。

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

このステートメントは、テーブルのカスタムの有効期限 (TTL) 設定を有効にします。

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

## RESTORE TABLE
<a name="cql.ddl.table.restore"></a>

`RESTORE TABLE` ステートメントを使用して、特定時点 (ポイントインタイム) にテーブルを復元 (リストア) します。このステートメントでは、テーブルでポイントインタイムリカバリを有効にする必要があります。詳細については、「[Amazon Keyspaces のポイントインタイムリカバリでデータをバックアップおよび復元する](PointInTimeRecovery.md)」を参照してください。

**[Syntax]** (構文)

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

Where:
+ `restored_table_name` は復元されたテーブルの名前です。
+ `source_table_name` はソーステーブルの名前です。
+ `table_options` は以下で構成されます。
  + `restore_timestamp` は ISO 8601 形式の復元ポイントタイムです。これが指定されない場合は、現在のタイムスタンプが使用されます。
  +  *`CUSTOM_PROPERTIES`* — Amazon Keyspaces に固有の設定のマップ。
    +  `capacity_mode`: テーブルの読み取り/書き込みスループットキャパシティモードを指定します。オプションは `throughput_mode:PAY_PER_REQUEST` と `throughput_mode:PROVISIONED` です。プロビジョンドキャパシティモードには入力として `read_capacity_units` と `write_capacity_units` が必要です。デフォルトは、ソーステーブルの現在の設定です。
    +  `encryption_specification`: 保管データ暗号化の暗号化オプションを指定します。オプションは `encryption_type:AWS_OWNED_KMS_KEY` と `encryption_type:CUSTOMER_MANAGED_KMS_KEY` です。暗号化オプションのカスタマーマネージドキーでは、入力として Amazon リソースネーム (ARN) 形式の AWS KMS キー が必要です。 `kms_key_identifier:ARN`カスタマーマネージドキーで暗号化されたテーブルを で暗号化されたテーブルに復元するには AWS 所有のキー、Amazon Keyspaces はソーステーブルの AWS KMS キーにアクセスする必要があります。
    +  `point_in_time_recovery`: テーブルに対してポイントインタイムリストアを有効にするか無効にするかを指定します。オプションは `status:enabled` と `status:disabled` です。新しいテーブルを作成する場合とは異なり、復元されたテーブルのデフォルトのステータスは `status:enabled` になります。これは設定がソーステーブルから継承されるためです。復元されたテーブルの PITR を無効にするには、`status:disabled` を明示的に設定する必要があります。
    + `replica_updates`: マルチリージョンテーブルの特定 AWS リージョン の設定を指定します。マルチリージョンテーブルの場合、テーブルの読み取りキャパシティの設定を AWS リージョンごとに変えることができます。その場合は、次のパラメータを設定します。
      + `region` – 次の設定のテーブルレプリカ AWS リージョン の 。
        + `read_capacity_units` 
  + `AUTOSCALING_SETTINGS` には、プロビジョニング済みのテーブルに対するオプションの自動スケーリング設定が含まれています。構文と詳しい説明については、「[CREATE TABLE](#cql.ddl.table.create)」を参照してください。
  + `TAGS` はリソースにアタッチされるキーバリューペアタグのリストです。

**注記**  
削除されたテーブルは、削除時にのみ復元できます。

**例**

```
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'};
```

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

キー空間からテーブルを削除するには `DROP TABLE` ステートメントを使用します。

**[Syntax]** (構文)

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

Where:
+ `IF EXISTS` により、テーブルが存在しない場合の `DROP TABLE` の失敗が阻止されます。(オプション)
+ `table_name` は削除 (ドロップ) されるテーブルの名前です。

**例**

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