

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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

`CREATE TABLE` definiert eine neue Tabelle.

```
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 [, ... ] ) ]
```

## Identitätsspalten
<a name="create-table-identity-columns"></a>

**Anmerkung**  
Bei der Verwendung von Identitätsspalten sollte der Cache-Wert sorgfältig abgewogen werden. Weitere Informationen finden Sie in der Erläuterung „Wichtig“ auf der [`CREATE SEQUENCE`](create-sequence-syntax-support.md) Seite.  
Hinweise zur optimalen Verwendung von Identitätsspalten auf der Grundlage von Workload-Mustern finden Sie unter[Arbeiten mit Sequenzen und Identitätsspalten](sequences-identity-columns-working-with.md).

Die `GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY ( {{sequence_options}} )` Klausel erstellt die Spalte als *Identitätsspalte*. Ihr wird eine implizite Sequenz angehängt, und in neu eingefügten Zeilen enthält die Spalte automatisch Werte aus der ihr zugewiesenen Sequenz. Eine solche Spalte ist implizit. `NOT NULL`

Die Klauseln `ALWAYS` und `BY DEFAULT` bestimmen, wie explizit vom Benutzer angegebene Werte in `INSERT` Befehlen und Befehlen behandelt werden. `UPDATE`

Wenn in einem `INSERT` Befehl ausgewählt `ALWAYS` ist, wird ein benutzerdefinierter Wert nur akzeptiert, wenn in der `INSERT` Anweisung Folgendes angegeben ist. `OVERRIDING SYSTEM VALUE` Wenn ausgewählt `BY DEFAULT` ist, hat der benutzerdefinierte Wert Vorrang.

Wenn in einem `UPDATE` Befehl diese Option ausgewählt `ALWAYS` ist, wird jede Aktualisierung der Spalte auf einen anderen Wert als `DEFAULT` abgelehnt. Wenn diese Option ausgewählt `BY DEFAULT` ist, kann die Spalte normal aktualisiert werden. (Es gibt keine `OVERRIDING` Klausel für den `UPDATE` Befehl.)

Die {{sequence\_options}} Klausel kann verwendet werden, um die Parameter der Sequenz zu überschreiben. Zu den verfügbaren Optionen gehören die für[`CREATE SEQUENCE`](create-sequence-syntax-support.md), plus`SEQUENCE NAME {{name}}`. Ohne `SEQUENCE NAME` diese Option wählt das System einen unbenutzten Namen für die Sequenz.

## Speichermodus
<a name="create-table-storage"></a>

Die optionale `STORAGE` Klausel legt den Speichermodus für die Spalte fest. Verwenden Sie diese Optionen, um das Verhalten der Komprimierung für Datentypen mit variabler Länge zu steuern, wie z. `JSON`

Amazon Aurora DSQL komprimiert einige Datentypen, wenn sie eine bestimmte Größe überschreiten. Um dieses Verhalten zu deaktivieren, verwenden Sie die Optionen `PLAIN` oder`EXTERNAL`.

**`PLAIN`**  
Aurora DSQL speichert Daten inline ohne Komprimierung. Dies ist die einzige Option für Datentypen mit fester Länge wie. `integer` Verwenden Sie diese Option, um die Komprimierung einiger Typen mit variabler Länge zu deaktivieren.

**`MAIN` \| `EXTENDED` \| `DEFAULT`**  
`MAIN`und `EXTENDED` ermöglichen die optionale Komprimierung der Spalte, wenn der zugrunde liegende Datentyp die Komprimierung unterstützt. `DEFAULT`setzt den Speichermodus auf den Standardmodus für den Datentyp der Spalte.

**`EXTERNAL`**  
Aurora DSQL unterstützt derzeit keine TOAST-Tabellen, `EXTERNAL` deaktiviert jedoch die Komprimierung von Datentypen, die Komprimierung unterstützen.