

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à.

# `CREATE TABLE`
<a name="create-table-syntax-support"></a>

`CREATE TABLE` definisce una nuova tabella.

```
CREATE TABLE [ IF NOT EXISTS ] table_name ( [
  { column_name data_type [ STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN | DEFAULT } ] [ column_constraint [ ... ] ]
    | table_constraint
    | LIKE source_table [ like_option ... ] }
    [, ... ]
] )

where column_constraint is:

[ CONSTRAINT constraint_name ]
{ NOT NULL |
  NULL |
  CHECK ( expression )|
  DEFAULT default_expr |
  GENERATED ALWAYS AS ( generation_expr ) STORED |
  GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY ( sequence_options ) |
  UNIQUE [ NULLS [ NOT ] DISTINCT ] index_parameters |
  PRIMARY KEY index_parameters |

and table_constraint is:

[ CONSTRAINT constraint_name ]
{ CHECK ( expression ) |
  UNIQUE [ NULLS [ NOT ] DISTINCT ] ( column_name [, ... ] ) index_parameters |
  PRIMARY KEY ( column_name [, ... ] ) index_parameters |

and like_option is:

{ INCLUDING | EXCLUDING } { COMMENTS | CONSTRAINTS | DEFAULTS | GENERATED | IDENTITY | INDEXES | STATISTICS | ALL }

index_parameters in UNIQUE, and PRIMARY KEY constraints are:
[ INCLUDE ( column_name [, ... ] ) ]
```

## Colonne di identità
<a name="create-table-identity-columns"></a>

**Nota**  
Quando si utilizzano le colonne di identità, il valore della cache deve essere considerato attentamente. Per ulteriori informazioni, consulta il callout importante nella [`CREATE SEQUENCE`](create-sequence-syntax-support.md) pagina.  
Per indicazioni su come utilizzare al meglio le colonne di identità in base ai modelli di carico di lavoro, consulta. [Utilizzo di sequenze e colonne di identità](sequences-identity-columns-working-with.md)

La `GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY ( {{sequence_options}} )` clausola crea la colonna come colonna di *identità*. Le sarà associata una sequenza implicita e nelle righe appena inserite alla colonna verranno assegnati automaticamente i valori della sequenza. Tale colonna è implicita. `NOT NULL`

Le clausole `ALWAYS` e i comandi `BY DEFAULT` determinano la modalità di gestione esplicita dei valori e dei comandi specificati dall'utente. `INSERT` `UPDATE`

In un `INSERT` comando, se selezionato, un valore specificato dall'utente `ALWAYS` viene accettato solo se l'istruzione lo specifica. `INSERT` `OVERRIDING SYSTEM VALUE` Se `BY DEFAULT` è selezionato, il valore specificato dall'utente ha la precedenza.

In un `UPDATE` comando, se `ALWAYS` selezionato, qualsiasi aggiornamento della colonna a qualsiasi valore diverso da quello `DEFAULT` verrà rifiutato. Se `BY DEFAULT` è selezionata, la colonna può essere aggiornata normalmente. (Non esiste alcuna `OVERRIDING` clausola per il `UPDATE` comando.)

La {{sequence\_options}} clausola può essere utilizzata per sovrascrivere i parametri della sequenza. Le opzioni disponibili includono quelle mostrate per[`CREATE SEQUENCE`](create-sequence-syntax-support.md), plus. `SEQUENCE NAME {{name}}` `SEQUENCE NAME`In caso contrario, il sistema sceglie un nome inutilizzato per la sequenza.

## Modalità di archiviazione
<a name="create-table-storage"></a>

La `STORAGE` clausola opzionale imposta la modalità di archiviazione per la colonna. Utilizzate queste opzioni per controllare il comportamento della compressione per tipi di dati a lunghezza variabile come. `JSON`

Amazon Aurora DSQL comprime alcuni tipi di dati quando superano una certa dimensione. Per disabilitare questo comportamento, usa le `PLAIN` opzioni o. `EXTERNAL`

**`PLAIN`**  
Aurora DSQL archivia i dati in linea senza compressione. Questa è l'unica opzione per tipi di dati a lunghezza fissa come. `integer` Utilizzate questa opzione per disabilitare la compressione su alcuni tipi di lunghezza variabile.

**`MAIN` \| `EXTENDED` \| `DEFAULT`**  
`MAIN`e `EXTENDED` consenti la compressione opzionale della colonna se il tipo di dati sottostante supporta la compressione. `DEFAULT`imposta la modalità di archiviazione sulla modalità predefinita per il tipo di dati della colonna.

**`EXTERNAL`**  
Aurora DSQL attualmente non supporta le tabelle TOAST, tuttavia `EXTERNAL` disabilita la compressione sui tipi di dati che supportano la compressione.