

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Le *tabelle* sono le strutture di dati principali in Amazon Keyspaces. I dati in una tabella sono organizzati in righe e colonne. Un sottoinsieme di queste colonne viene utilizzato per determinare il partizionamento (e in ultima analisi il posizionamento dei dati) mediante la specificazione di una chiave di partizione.

Un altro set di colonne può essere definito in colonne di clustering, il che significa che possono partecipare come predicati all'esecuzione delle query. 

Per impostazione predefinita, vengono create nuove tabelle con capacità di throughput *su richiesta*. È possibile modificare la modalità di capacità per tabelle nuove ed esistenti. Per ulteriori informazioni sulle modalità di throughput read/write della capacità, vedere[Configura le modalità di read/write capacità in Amazon Keyspaces](ReadWriteCapacityMode.md). 

Per le tabelle in modalità provisioning, è possibile configurare in modo facoltativo. `AUTOSCALING_SETTINGS` Per ulteriori informazioni sulla scalabilità automatica di Amazon Keyspaces e sulle opzioni disponibili, consulta. [Configura il ridimensionamento automatico su una tabella esistente](autoscaling.configureTable.md)

Per informazioni sui limiti e i vincoli di quota per le tabelle Amazon Keyspaces, consulta. [Quote per Amazon Keyspaces (per Apache Cassandra)](quotas.md)

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

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

Utilizzate l'`CREATE TABLE`istruzione per creare una nuova tabella.

 **Sintassi**

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

Dove:
+ `table_name`è il nome della tabella da creare. Il nome completo include il prefisso keyspace. In alternativa, è possibile impostare lo spazio chiave corrente con l'`USE`istruzione keyspace.
+ `column_definition`è composto da quanto segue:
  +  *`column_name`*— Il nome della colonna.
  + `cql_type`— Un tipo di dati Amazon Keyspaces (vedi[Tipi di dati](cql.elements.md#cql.data-types)).
  + `FROZEN`— Indica questa colonna definita dall'utente o di tipo `collection` (ad esempio, `LIST``SET`, o`MAP`) come congelata. Una raccolta *congelata* viene serializzata in un unico valore immutabile e trattata come una. `BLOB` Per ulteriori informazioni, consulta [Tipi di raccolta](cql.elements.md#cql.data-types.collection).
  + `STATIC`— Indica questa colonna come statica. Le colonne statiche memorizzano i valori condivisi da tutte le righe della stessa partizione.
  + `PRIMARY KEY`— Indica questa colonna come chiave primaria della tabella.
+ `primary_key`è composto da quanto segue:
  + `partition_key`
  + `clustering_columns`
+ `partition_key`:
  + La chiave di partizione può essere una singola colonna o un valore composto da due o più colonne. La parte relativa alla chiave di partizione della chiave primaria è obbligatoria e determina in che modo Amazon Keyspaces archivia i dati. 
+ `clustering_columns`:
  + La parte opzionale della colonna di clustering della chiave primaria determina il modo in cui i dati vengono raggruppati e ordinati all'interno di ciascuna partizione. 
+ `table_options`sono costituite da quanto segue:
  + *`CLUSTERING ORDER BY`*— Il CLUSTERING ORDER predefinito su una tabella è composto dalle chiavi di raggruppamento nella direzione di ordinamento `ASC` (crescente). Specificalo per ignorare il comportamento di ordinamento predefinito. 
  +  *`cdc`*— Un valore booleano che specifica se Amazon Keyspaces crea un flusso CDC (change data capture) per la tabella. Il valore predefinito è `false`. Per specificare `view type` quando abilitare uno stream, imposta il with. `cdc_specification` `CUSTOM_PROPERTIES` 
  +  *`CUSTOM_PROPERTIES`*— Una mappa di impostazioni specifiche di Amazon Keyspaces.
    +  `capacity_mode`: specifica la modalità di capacità di velocità effettiva di lettura/scrittura per la tabella. Le opzioni sono `throughput_mode:PAY_PER_REQUEST` e `throughput_mode:PROVISIONED`. La modalità di capacità fornita richiede e come input. `read_capacity_units` `write_capacity_units` Il valore predefinito è `throughput_mode:PAY_PER_REQUEST`.
    +  `cdc_specification`: specifica il flusso `view_type` CDC. Le opzioni sono:
      + `NEW_AND_OLD_IMAGES`— entrambe le versioni della riga, prima e dopo la modifica. Questa è l’impostazione predefinita.
      + `NEW_IMAGE`— la versione della riga dopo la modifica.
      + `OLD_IMAGE`— la versione della riga prima della modifica.
      + `KEYS_ONLY`— le chiavi di partizione e di clustering della riga che è stata modificata.

      Per ulteriori informazioni sugli stream CDC, vedere. [Utilizzo di flussi di acquisizione dati di modifica (CDC) in Amazon Keyspaces](cdc.md) Per alcuni esempi di codice, consultare [Abilita uno stream CDC durante la creazione di una nuova tabella in Amazon Keyspaces](keyspaces-enable-cdc-new-table.md).
    +  `client_side_timestamps`: specifica se i timestamp lato client sono abilitati o disabilitati per la tabella. Le opzioni sono `{'status': 'enabled'}` e `{'status': 'disabled'}`. Se non è specificato, l'impostazione predefinita è. `status:disabled` Dopo aver abilitato i timestamp lato client per una tabella, questa impostazione non può essere disabilitata. 
    +  `encryption_specification`: specifica le opzioni di crittografia per la crittografia a riposo. Se non è specificato, l'impostazione predefinita è`encryption_type:AWS_OWNED_KMS_KEY`. L'opzione di crittografia la chiave gestita dal cliente richiede la AWS KMS chiave in formato Amazon Resource Name (ARN) come input::`kms_key_identifier:ARN`. `kms_key_identifier:ARN` 
    +  `point_in_time_recovery`: specifica se il point-in-time ripristino è abilitato o disabilitato per la tabella. Le opzioni sono `status:enabled` e `status:disabled`. Se non è specificato, l'impostazione predefinita è`status:disabled`.
    + `replica_updates`: specifica le impostazioni di una tabella multiarea specifiche di un. Regione AWS Per una tabella con più regioni, è possibile configurare la capacità di lettura della tabella in modo diverso per. Regione AWSÈ possibile farlo configurando i seguenti parametri. Per maggiori informazioni ed esempi, consulta [Crea una tabella multiregionale in modalità provisioning con scalabilità automatica in Amazon Keyspaces](tables-mrr-create-provisioned.md).
      + `region`— La replica Regione AWS della tabella con le seguenti impostazioni:
        + `read_capacity_units`
    +  `TTL`: abilita le impostazioni personalizzate Time to Live per la tabella. Per abilitare, usa`status:enabled`. Il valore predefinito è `status:disabled`. Dopo averlo `TTL` abilitato, non puoi disabilitarlo per la tabella.
  + `AUTOSCALING_SETTINGS`include le seguenti impostazioni opzionali per le tabelle in modalità provisioning. Per maggiori informazioni ed esempi, consulta [Crea una nuova tabella con ridimensionamento automatico](autoscaling.createTable.md).
    + `provisioned_write_capacity_autoscaling_update`:
      + `autoscaling_disabled`— Per abilitare la scalabilità automatica per la capacità di scrittura, impostare il valore su. `false` Il valore predefinito è `true`. (Facoltativo)
      + `minimum_units`— Il livello minimo di velocità di scrittura che la tabella dovrebbe essere sempre pronta a supportare. Il valore deve essere compreso tra 1 e la quota massima di throughput al secondo prevista per l'account (40.000 per impostazione predefinita).
      + `maximum_units`— Il livello massimo di velocità di scrittura che la tabella dovrebbe essere sempre pronta a supportare. Il valore deve essere compreso tra 1 e la quota massima di throughput al secondo prevista per l'account (40.000 per impostazione predefinita).
      + `scaling_policy`— Amazon Keyspaces supporta la politica di tracciamento degli obiettivi. L'obiettivo di auto scaling è la capacità di scrittura assegnata alla tabella.
        + `target_tracking_scaling_policy_configuration`— Per definire la politica di tracciamento del target, è necessario definire il valore target. Per ulteriori informazioni sul tracciamento del target e sui periodi di cooldown, consulta [Target Tracking Scaling Policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) nella *Application Auto Scaling* User Guide. 
          + `target_value`— Il tasso di utilizzo previsto della tabella. La scalabilità automatica di Amazon Keyspaces assicura che il rapporto tra capacità consumata e capacità fornita rimanga pari o vicino a questo valore. `target_value` viene definito in percentuale. Un doppio tra 20 e 90. (Obbligatorio)
          + `scale_in_cooldown`— Un periodo di recupero in secondi tra le attività di ridimensionamento che consente alla tabella di stabilizzarsi prima che inizi un'altra scala di attività. Se non viene fornito alcun valore, il valore predefinito è 0. (Facoltativo)
          + `scale_out_cooldown`— Un periodo di recupero in secondi tra le attività di ridimensionamento che consente alla tabella di stabilizzarsi prima che inizi un'altra attività di scalabilità orizzontale. Se non viene fornito alcun valore, il valore predefinito è 0. (Facoltativo)
          + `disable_scale_in`: A `boolean` che specifica se `scale-in` è disabilitato o abilitato per la tabella. Questo parametro è disabilitato per impostazione predefinita. Per attivarlo`scale-in`, imposta il `boolean` valore su`FALSE`. Ciò significa che la capacità viene automaticamente ridotta per una tabella per tuo conto. (Facoltativo) 
    + `provisioned_read_capacity_autoscaling_update`:
      + `autoscaling_disabled`— Per abilitare la scalabilità automatica per la capacità di lettura, impostare il valore su. `false` Il valore predefinito è `true`. (Facoltativo)
      + `minimum_units`— Il livello minimo di velocità effettiva che la tabella dovrebbe essere sempre pronta a supportare. Il valore deve essere compreso tra 1 e la quota massima di throughput al secondo prevista per l'account (40.000 per impostazione predefinita).
      + `maximum_units`— Il livello massimo di velocità effettiva che la tabella dovrebbe essere sempre pronta a supportare. Il valore deve essere compreso tra 1 e la quota massima di throughput al secondo prevista per l'account (40.000 per impostazione predefinita).
      + `scaling_policy`— Amazon Keyspaces supporta la politica di tracciamento degli obiettivi. L'obiettivo della scalabilità automatica è la capacità di lettura assegnata alla tabella.
        + `target_tracking_scaling_policy_configuration`— Per definire la politica di tracciamento del target, è necessario definire il valore target. Per ulteriori informazioni sul tracciamento del target e sui periodi di cooldown, consulta [Target Tracking Scaling Policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) nella *Application Auto Scaling* User Guide. 
          + `target_value`— Il tasso di utilizzo previsto della tabella. La scalabilità automatica di Amazon Keyspaces assicura che il rapporto tra capacità consumata e capacità fornita rimanga pari o vicino a questo valore. `target_value` viene definito in percentuale. Un doppio tra 20 e 90. (Obbligatorio)
          + `scale_in_cooldown`— Un periodo di recupero in secondi tra le attività di ridimensionamento che consente alla tabella di stabilizzarsi prima che inizi un'altra scala di attività. Se non viene fornito alcun valore, il valore predefinito è 0. (Facoltativo)
          + `scale_out_cooldown`— Un periodo di recupero in secondi tra le attività di ridimensionamento che consente alla tabella di stabilizzarsi prima che inizi un'altra attività di scalabilità orizzontale. Se non viene fornito alcun valore, il valore predefinito è 0. (Facoltativo)
          + `disable_scale_in`: A `boolean` che specifica se `scale-in` è disabilitato o abilitato per la tabella. Questo parametro è disabilitato per impostazione predefinita. Per attivarlo`scale-in`, imposta il `boolean` valore su`FALSE`. Ciò significa che la capacità viene automaticamente ridotta per una tabella per tuo conto. (Facoltativo) 
    + `replica_updates`: specifica le impostazioni di ridimensionamento automatico Regione AWS specifiche di una tabella multiregione. Per una tabella con più regioni, è possibile configurare la capacità di lettura della tabella in modo diverso per. Regione AWSÈ possibile farlo configurando i seguenti parametri. Per maggiori informazioni ed esempi, consulta [Aggiorna la capacità fornita e le impostazioni di ridimensionamento automatico per una tabella multiregionale in Amazon Keyspaces](tables-mrr-autoscaling.md).
      + `region`— La replica Regione AWS della tabella con le seguenti impostazioni:
        + `provisioned_read_capacity_autoscaling_update`
          + `autoscaling_disabled`— Per abilitare il ridimensionamento automatico della capacità di lettura della tabella, impostate il valore su. `false` Il valore predefinito è `true`. (Facoltativo) 
**Nota**  
Il ridimensionamento automatico per una tabella con più regioni deve essere abilitato o disabilitato per tutte le repliche della tabella.
          + `minimum_units`— Il livello minimo di velocità di lettura che la tabella dovrebbe essere sempre pronta a supportare. Il valore deve essere compreso tra 1 e la quota massima di throughput al secondo prevista per l'account (40.000 per impostazione predefinita).
          + `maximum_units`— Il livello massimo di velocità di lettura che la tabella dovrebbe essere sempre pronta a supportare. Il valore deve essere compreso tra 1 e la quota massima di throughput al secondo prevista per l'account (40.000 per impostazione predefinita).
          + `scaling_policy`— Amazon Keyspaces supporta la politica di tracciamento degli obiettivi. L'obiettivo della scalabilità automatica è la capacità di lettura assegnata alla tabella.
            + `target_tracking_scaling_policy_configuration`— Per definire la politica di tracciamento del target, è necessario definire il valore target. Per ulteriori informazioni sul tracciamento del target e sui periodi di cooldown, consulta [Target Tracking Scaling Policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) nella *Application Auto Scaling* User Guide. 
              + `target_value`— Il tasso di utilizzo previsto della tabella. La scalabilità automatica di Amazon Keyspaces assicura che il rapporto tra la capacità di lettura consumata e la capacità di lettura assegnata rimanga pari o vicino a questo valore. `target_value` viene definito in percentuale. Un doppio tra 20 e 90. (Obbligatorio)
              + `scale_in_cooldown`— Un periodo di recupero in secondi tra le attività di ridimensionamento che consente alla tabella di stabilizzarsi prima che inizi un'altra scala di attività. Se non viene fornito alcun valore, il valore predefinito è 0. (Facoltativo)
              + `scale_out_cooldown`— Un periodo di recupero in secondi tra le attività di ridimensionamento che consente alla tabella di stabilizzarsi prima che inizi un'altra attività di scalabilità orizzontale. Se non viene fornito alcun valore, il valore predefinito è 0. (Facoltativo)
              + `disable_scale_in`: A `boolean` che specifica se `scale-in` è disabilitato o abilitato per la tabella. Questo parametro è disabilitato per impostazione predefinita. Per attivarlo`scale-in`, imposta il `boolean` valore su`FALSE`. Ciò significa che la capacità di lettura viene automaticamente ridotta per una tabella per conto dell'utente. (Facoltativo) 
  + `default_time_to_live`— L'impostazione predefinita del Time to Live in secondi per il tavolo.
  + `TAGS`— Un elenco di tag di coppia chiave-valore da allegare alla risorsa al momento della creazione. 
  + `clustering_order`è composto da quanto segue:
    +  *`column_name`*— Il nome della colonna. 
    +  *`ASC | DESC`*— Imposta il modificatore di ordine ascendente (`ASC`) o discendente (`DESC`). Se non è specificato, l'ordine predefinito è ASC. 

**Esempio**

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

In una tabella che utilizza colonne di clustering, le colonne non raggruppate possono essere dichiarate statiche nella definizione della tabella. Per ulteriori informazioni sulle colonne statiche, vedere. [Stima del consumo di capacità per le colonne statiche in Amazon Keyspaces](static-columns.md)

**Esempio**

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

È possibile creare una tabella con una colonna che utilizza un tipo definito dall'utente (UDT). La prima istruzione negli esempi crea un tipo, la seconda istruzione crea una tabella con una colonna che utilizza il tipo.

**Esempio**

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

Utilizzate l'`ALTER TABLE`istruzione per aggiungere nuove colonne, aggiungere tag o modificare le proprietà personalizzate della tabella.

**Sintassi**

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

Dove:
+ `table_name`è il nome della tabella da modificare.
+ `column_definition`è il nome della colonna e del tipo di dati da aggiungere.
+ `column_definition_list`è un elenco di colonne separate da virgole inserite tra parentesi.
+ `table_options`sono costituiti da quanto segue:
  + `AUTOSCALING_SETTINGS`include le impostazioni di ridimensionamento automatico opzionali per le tabelle predisposte. Per la sintassi e le descrizioni dettagliate, vedere. [CREATE TABLE](#cql.ddl.table.create) Per alcuni esempi, consulta [Configura il ridimensionamento automatico su una tabella esistente](autoscaling.configureTable.md).
  +  *`cdc`*— Un valore booleano che specifica se Amazon Keyspaces crea un flusso CDC (change data capture) per la tabella. Il valore predefinito è `false`. Per specificare `view type` quando abilitare uno stream, imposta il with. `cdc_specification` `CUSTOM_PROPERTIES` 
  +  *`CUSTOM_PROPERTIES`*— Una mappa di impostazioni specifiche per Amazon Keyspaces.
    +  `capacity_mode`: specifica la modalità di capacità di velocità effettiva di lettura/scrittura per la tabella. Le opzioni sono `throughput_mode:PAY_PER_REQUEST` e `throughput_mode:PROVISIONED`. La modalità di capacità fornita richiede e come input. `read_capacity_units` `write_capacity_units` Il valore predefinito è `throughput_mode:PAY_PER_REQUEST`.
    +  `cdc_specification`: specifica il flusso `view_type` CDC. Le opzioni sono:
      + `NEW_AND_OLD_IMAGES`— entrambe le versioni della riga, prima e dopo la modifica. Questa è l’impostazione predefinita.
      + `NEW_IMAGE`— la versione della riga dopo la modifica.
      + `OLD_IMAGE`— la versione della riga prima della modifica.
      + `KEYS_ONLY`— le chiavi di partizione e di clustering della riga che è stata modificata.

      Per ulteriori informazioni sugli stream CDC, vedere. [Utilizzo di flussi di acquisizione dati di modifica (CDC) in Amazon Keyspaces](cdc.md) Per alcuni esempi di codice, consultare [Abilita uno stream CDC per una tabella esistente in Amazon Keyspaces](keyspaces-enable-cdc-alter-table.md).
    +  `client_side_timestamps`: specifica se i timestamp lato client sono abilitati o disabilitati per la tabella. Le opzioni sono `{'status': 'enabled'}` e `{'status': 'disabled'}`. Se non è specificato, l'impostazione predefinita è. `status:disabled` Dopo aver abilitato i timestamp lato client per una tabella, questa impostazione non può essere disabilitata. 
    +  `encryption_specification`: specifica l'opzione di crittografia per la crittografia a riposo. Le opzioni sono `encryption_type:AWS_OWNED_KMS_KEY` e `encryption_type:CUSTOMER_MANAGED_KMS_KEY`. L'opzione di crittografia la chiave gestita dal cliente richiede la AWS KMS chiave in formato Amazon Resource Name (ARN) come input:. `kms_key_identifier:ARN` 
    +  `point_in_time_recovery`: specifica se il point-in-time ripristino è abilitato o disabilitato per la tabella. Le opzioni sono `status:enabled` e `status:disabled`. Il valore predefinito è `status:disabled`.
    + `replica_updates`: specifica le impostazioni Regione AWS specifiche di una tabella con più regioni. Per una tabella con più regioni, è possibile configurare la capacità di lettura della tabella in modo diverso per. Regione AWSÈ possibile farlo configurando i seguenti parametri. Per maggiori informazioni ed esempi, consulta [Aggiorna la capacità fornita e le impostazioni di ridimensionamento automatico per una tabella multiregionale in Amazon Keyspaces](tables-mrr-autoscaling.md).
      + `region`— La replica Regione AWS della tabella con le seguenti impostazioni:
        + `read_capacity_units` 
    +  `ttl`: abilita le impostazioni personalizzate Time to Live per la tabella. Per abilitare, usa`status:enabled`. Il valore predefinito è `status:disabled`. Dopo averlo `ttl` abilitato, non puoi disabilitarlo per la tabella.
+ `default_time_to_live`: l'impostazione predefinita del Time to Live in secondi per la tabella.
+ `TAGS`è un elenco di tag di coppia chiave-valore da allegare alla risorsa.

**Nota**  
Con ALTER TABLE, puoi modificare solo una singola proprietà personalizzata. Non è possibile combinare più di un comando ALTER TABLE nella stessa istruzione.

**Esempi**

L'istruzione seguente mostra come aggiungere una colonna a una tabella esistente.

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

Questa istruzione mostra come aggiungere due colonne di raccolta a una tabella esistente: 
+ Una colonna di raccolta congelata `col_frozen_list` che contiene una raccolta congelata annidata
+ Una colonna di raccolta non congelata `col_map` che contiene una raccolta congelata annidata

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

L'esempio seguente mostra come aggiungere una colonna che utilizza un tipo definito dall'utente (UDT) a una tabella.

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

Per modificare la modalità di capacità di una tabella e specificare le unità di capacità di lettura e scrittura, è possibile utilizzare la seguente istruzione.

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

L'istruzione seguente specifica una chiave KMS gestita dal cliente per la tabella.

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

Per abilitare point-in-time il ripristino di una tabella, è possibile utilizzare la seguente istruzione.

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

Per impostare un valore Time to Live predefinito in secondi per una tabella, è possibile utilizzare la seguente istruzione.

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

Questa istruzione abilita le impostazioni Time to Live personalizzate per una tabella.

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

## RIPRISTINARE LA TABELLA
<a name="cql.ddl.table.restore"></a>

Utilizzare l'`RESTORE TABLE`istruzione per ripristinare una tabella in un determinato momento. Questa istruzione richiede che point-in-time il ripristino sia abilitato su una tabella. Per ulteriori informazioni, consulta [Backup e ripristino dei dati con point-in-time ripristino per Amazon Keyspaces](PointInTimeRecovery.md).

**Sintassi**

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

Dove:
+ `restored_table_name`è il nome della tabella ripristinata.
+ `source_table_name`è il nome della tabella di origine.
+ `table_options`è composto da quanto segue:
  + `restore_timestamp`è l'ora del punto di ripristino in formato ISO 8601. Se non è specificato, viene utilizzato il timestamp corrente.
  +  *`CUSTOM_PROPERTIES`*— Una mappa di impostazioni specifiche per Amazon Keyspaces.
    +  `capacity_mode`: specifica la modalità di capacità di velocità effettiva di lettura/scrittura per la tabella. Le opzioni sono `throughput_mode:PAY_PER_REQUEST` e `throughput_mode:PROVISIONED`. La modalità di capacità fornita richiede e come input. `read_capacity_units` `write_capacity_units` L'impostazione predefinita è l'impostazione corrente della tabella di origine.
    +  `encryption_specification`: specifica l'opzione di crittografia per la crittografia a riposo. Le opzioni sono `encryption_type:AWS_OWNED_KMS_KEY` e `encryption_type:CUSTOMER_MANAGED_KMS_KEY`. L'opzione di crittografia la chiave gestita dal cliente richiede la AWS KMS chiave in formato Amazon Resource Name (ARN) come input:. `kms_key_identifier:ARN` Per ripristinare una tabella crittografata con una chiave gestita dal cliente su una tabella crittografata con un Chiave di proprietà di AWS, Amazon Keyspaces richiede l'accesso alla AWS KMS chiave della tabella di origine.
    +  `point_in_time_recovery`: specifica se il point-in-time ripristino è abilitato o disabilitato per la tabella. Le opzioni sono `status:enabled` e `status:disabled`. A differenza di quando si creano nuove tabelle, lo stato predefinito per le tabelle ripristinate è `status:enabled` dovuto al fatto che l'impostazione viene ereditata dalla tabella di origine. Per disabilitare PITR per le tabelle ripristinate, è necessario `status:disabled` impostarlo in modo esplicito.
    + `replica_updates`: specifica le impostazioni Regione AWS specifiche di una tabella multiregionale. Per una tabella con più regioni, è possibile configurare la capacità di lettura della tabella in modo diverso per. Regione AWSÈ possibile farlo configurando i seguenti parametri. 
      + `region`— La replica Regione AWS della tabella con le seguenti impostazioni:
        + `read_capacity_units` 
  + `AUTOSCALING_SETTINGS`include le impostazioni di ridimensionamento automatico opzionali per le tabelle predisposte. Per una sintassi e una descrizione dettagliate, vedere. [CREATE TABLE](#cql.ddl.table.create)
  + `TAGS`è un elenco di tag di coppia chiave-valore da allegare alla risorsa.

**Nota**  
Le tabelle eliminate possono essere ripristinate solo al momento dell'eliminazione.

**Esempio**

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

Utilizzate l'`DROP TABLE`istruzione per rimuovere una tabella dallo spazio delle chiavi.

**Sintassi**

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

Dove:
+ `IF EXISTS``DROP TABLE`impedisce di fallire se la tabella non esiste. (Facoltativo)
+ `table_name`è il nome della tabella da eliminare.

**Esempio**

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