

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.

# Unterschiede zwischen einer relationalen (SQL) Datenbank und DynamoDB beim Schreiben von Daten in eine Tabelle
<a name="SQLtoNoSQL.WriteData"></a>

Relationale Datenbanktabellen enthalten *Datenzeilen*. Die Zeilen bestehen aus *Spalten*. Amazon DynamoDB Tabellen enthalten *Elemente*. Elemente bestehen aus *Attributen*.

In diesem Abschnitt wird beschrieben, wie Sie eine Zeile (bzw. ein Element) in eine Tabelle schreiben.

**Topics**
+ [Schreiben von Daten in eine Tabelle mit SQL](#SQLtoNoSQL.WriteData.SQL)
+ [Schreiben von Daten in eine Tabelle in DynamoDB](#SQLtoNoSQL.WriteData.DynamoDB)

## Schreiben von Daten in eine Tabelle mit SQL
<a name="SQLtoNoSQL.WriteData.SQL"></a>

Eine Tabelle in einer relationalen Datenbank ist eine zweidimensionale Datenstruktur, die sich aus Zeilen und Spalten zusammensetzt. Einige Datenbankmanagementsysteme bieten auch Unterstützung für halbstrukturierte Daten, in der Regel mit nativen JSON- oder XML-Datentypen. Die Implementierungsdetails sind je nach Anbieter unterschiedlich.

In SQL verwenden Sie die `INSERT`-Anweisung zum Hinzufügen einer Zeile zu einer Tabelle.

```
INSERT INTO Music
    (Artist, SongTitle, AlbumTitle,
    Year, Price, Genre,
    Tags)
VALUES(
    'No One You Know', 'Call Me Today', 'Somewhat Famous',
    2015, 2.14, 'Country',
    '{"Composers": ["Smith", "Jones", "Davis"],"LengthInSeconds": 214}'
);
```

Der Primärschlüssel für diese Tabelle besteht aus *Artist* und. *SongTitle* Sie müssen Werte für diese Spalten angeben.

**Anmerkung**  
In diesem Beispiel wird die Spalte *Tags* zum Speichern halbstrukturierter Daten zu den Songs in der Tabelle *Musik* verwendet. Die Spalte *Tags* ist als Typ TEXT definiert. Dieser kann bis zu 65 535 Zeichen in MySQL speichern. 

## Schreiben von Daten in eine Tabelle in DynamoDB
<a name="SQLtoNoSQL.WriteData.DynamoDB"></a>

In Amazon DynamoDB können Sie entweder die DynamoDB-API oder [PartiQL](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.html), eine SQL-kompatible Abfragesprache, verwenden, um einer Tabelle ein Element hinzuzufügen.

------
#### [ DynamoDB API ]

Mit der DynamoDB-API verwenden Sie die `PutItem`-Operation zum Hinzufügen eines Elements zu einer Tabelle.

```
{
    TableName: "Music",
    Item: {
        "Artist":"No One You Know",
        "SongTitle":"Call Me Today",
        "AlbumTitle":"Somewhat Famous",
        "Year": 2015,
        "Price": 2.14,
        "Genre": "Country",
        "Tags": {
            "Composers": [
                  "Smith",
                  "Jones",
                  "Davis"
            ],
            "LengthInSeconds": 214
        }
    }
}
```

Der Primärschlüssel für diese Tabelle besteht aus *Artist* und. *SongTitle* Sie müssen Werte für diese Attribute angeben.

Im Folgenden sind einige wichtige Fakten zu diesem `PutItem`-Beispiel aufgeführt:
+ DynamoDB bietet native Unterstützung für Dokumente unter Verwendung von JSON. Dadurch ist DynamoDB ideal zum Speichern halbstrukturierter Daten wie *Tags* geeignet. Sie können Daten innerhalb von JSON-Dokumenten auch abrufen und bearbeiten.
+ Die Tabelle *Music* hat außer dem Primärschlüssel (*Artist* und *SongTitle*) keine vordefinierten Attribute.
+ Die meisten SQL-Datenbanken sind transaktionsorientiert. Wenn Sie eine `INSERT`-Anweisung erstellen, sind die Datenänderungen erst dauerhaft, sobald Sie eine `COMMIT`-Anweisung generieren. Mit Amazon DynamoDB sind die Auswirkungen einer `PutItem`-Aktion dauerhaft, wenn DynamoDB mit einem HTTP 200-Statuscode (`OK`) antwortet.

Im Folgenden sind weitere `PutItem`-Beispiele aufgeführt.

```
{
    TableName: "Music",
    Item: {
        "Artist": "No One You Know",
        "SongTitle": "My Dog Spot",
        "AlbumTitle":"Hey Now",
        "Price": 1.98,
        "Genre": "Country",
        "CriticRating": 8.4
    }
}
```

```
{
    TableName: "Music",
    Item: {
        "Artist": "No One You Know",
        "SongTitle": "Somewhere Down The Road",
        "AlbumTitle":"Somewhat Famous",
        "Genre": "Country",
        "CriticRating": 8.4,
        "Year": 1984
    }
}
```

```
{
    TableName: "Music",
    Item: {
        "Artist": "The Acme Band",
        "SongTitle": "Still In Love",
        "AlbumTitle":"The Buck Starts Here",
        "Price": 2.47,
        "Genre": "Rock",
        "PromotionInfo": {
            "RadioStationsPlaying":[
                 "KHCR", "KBQX", "WTNR", "WJJH"
            ],
            "TourDates": {
                "Seattle": "20150625",
                "Cleveland": "20150630"
            },
            "Rotation": "Heavy"
        }
    }
}
```

```
{
    TableName: "Music",
    Item: {
        "Artist": "The Acme Band",
        "SongTitle": "Look Out, World",
        "AlbumTitle":"The Buck Starts Here",
        "Price": 0.99,
        "Genre": "Rock"
    }
}
```

**Anmerkung**  
Neben `PutItem` unterstützt DynamoDB eine `BatchWriteItem`-Aktion zum Schreiben mehrerer Elemente gleichzeitig.

------
#### [ PartiQL for DynamoDB ]

Mit PartiQL verwenden Sie die `ExecuteStatement`-Operation zum Hinzufügen eines Elements zu einer Tabelle mit PartiQL `Insert`-Anweisung.

```
INSERT into Music value {  
    'Artist': 'No One You Know',
    'SongTitle': 'Call Me Today',
    'AlbumTitle': 'Somewhat Famous',
    'Year' : '2015',
    'Genre' : 'Acme'
}
```

Der Primärschlüssel für diese Tabelle besteht aus *Artist* und *SongTitle*. Sie müssen Werte für diese Attribute angeben.

**Anmerkung**  
Codebeispiele, die `Insert` und `ExecuteStatement` verwenden, finden Sie unter [PartiQL-Insert-Anweisungen für DynamoDB](ql-reference.insert.md).

------