Auf dieser Seite wird beschrieben, wie Sie Daten mithilfe von Mutationen einfügen, aktualisieren und löschen. Eine Mutation stellt eine Folge von Einfügungs-, Aktualisierungs- und Löschvorgängen dar, die Spanner in kleinstmöglichen Schritten auf verschiedene Zeilen und Tabellen in einer Datenbank anwendet. Mutationen sind für das Schreiben von Daten konzipiert. Sie können keine Daten aus Ihren Tabellen lesen. Bei vielen Aktualisierungsvorgängen müssen vorhandene Daten gelesen werden, bevor Änderungen vorgenommen werden können. Für diese Anwendungsfälle müssen Sie eine Lese-Schreib-Transaktion verwenden, mit der Spanner Zeilen lesen und dann Mutationen innerhalb desselben atomaren Vorgangs anwenden kann.
Sie können den Commit von Mutationen zwar mit gRPC oder REST durchführen, meist greift man aber über die Clientbibliotheken auf die APIs zu.
Wenn Sie eine große Anzahl von Blind-Schreibvorgängen ausführen müssen, aber keine atomare Transaktion erforderlich ist, können Sie Ihre Spanner-Tabellen mit Batch-Schreibvorgängen in großen Mengen ändern. Weitere Informationen finden Sie unter Daten mit Batch-Schreibvorgängen ändern.
Neue Zeilen in eine Tabelle einfügen
C++
Daten werden mit der Funktion InsertMutationBuilder() geschrieben.
Mit Client::Commit() fügen Sie einer Tabelle neue Zeilen hinzu. Alle Eingaben in einen einzelnen Batch werden in kleinstmöglichen Schritten angewendet.
Dieser Code zeigt, wie die Daten geschrieben werden:
C#
Sie können Daten mithilfe der Methode connection.CreateInsertCommand() einfügen. Dadurch wird ein neuer SpannerCommand erstellt, um Zeilen in eine Tabelle einzufügen. Die Methode SpannerCommand.ExecuteNonQueryAsync() fügt der Tabelle neue Zeilen hinzu.
Dieser Code zeigt, wie Daten eingefügt werden:
Go
Sie schreiben Daten mit einer Mutation. Eine Mutation ist ein Container für Mutationsvorgänge. Eine Mutation stellt eine Folge von Einfügungs-, Aktualisierungs- oder Löschvorgängen dar, die in kleinstmöglichen Schritten auf verschiedene Zeilen und Tabellen in einer Spanner-Datenbank angewendet werden können.
Verwenden Sie Mutation.InsertOrUpdate(), um die Mutation INSERT_OR_UPDATE zu erstellen. Damit wird eine neue Zeile hinzugefügt oder Spaltenwerte aktualisiert, falls die Zeile bereits vorhanden ist. Alternativ können Sie die Methode Mutation.Insert() zum Erstellen der Mutation INSERT verwenden, mit der eine neue Zeile hinzugefügt wird.
Durch Client.Apply() werden Mutationen in kleinstmöglichen Schritten auf eine Datenbank angewendet.
Dieser Code zeigt, wie die Daten geschrieben werden:
Java
Daten werden mit einem Mutation-Objekt geschrieben. Ein Mutation-Objekt ist ein Container für Mutationsvorgänge. Eine Mutation stellt eine Folge von Einfügungs-, Aktualisierungs- und Löschvorgängen dar, die Spanner in kleinstmöglichen Schritten auf verschiedene Zeilen und Tabellen in einer Spanner-Datenbank anwenden kann.
Die Methode newInsertBuilder() in der Klasse Mutation erstellt eine INSERT-Mutation, die eine neue Zeile in eine Tabelle einfügt. Wenn die Zeile bereits vorhanden ist, kann der Schreibvorgang nicht durchgeführt werden. In diesem Fall können Sie alternativ mit der Methode newInsertOrUpdateBuilder die Mutation INSERT_OR_UPDATE erstellen, um Spaltenwerte zu aktualisieren, wenn die Zeile bereits vorhanden ist.
Die write()-Methode in der Klasse DatabaseClient schreibt die Mutationen. Alle Mutationen in einem einzelnen Batch werden in kleinstmöglichen Schritten angewendet.
Dieser Code zeigt, wie die Daten geschrieben werden:
Node.js
Daten werden mit einem Table-Objekt geschrieben. Die Methode Table.insert() fügt der Tabelle neue Zeilen hinzu. Alle Eingaben in einen einzelnen Batch werden in kleinstmöglichen Schritten angewendet.
Dieser Code zeigt, wie die Daten geschrieben werden:
PHP
Daten werden mithilfe der Methode Database::insertBatch geschrieben. Mit insertBatch fügen Sie einer Tabelle neue Zeilen hinzu. Alle Eingaben in einen einzelnen Batch werden in kleinstmöglichen Schritten angewendet.
Dieser Code zeigt, wie die Daten geschrieben werden:
Python
Daten werden mit einem Batch-Objekt geschrieben. Ein Batch-Objekt ist ein Container für Mutationsvorgänge. Eine Mutation stellt eine Folge von Einfügungs-, Aktualisierungs- oder Löschvorgängen dar, die in kleinstmöglichen Schritten auf verschiedene Zeilen und Tabellen in einer Spanner-Datenbank angewendet werden können.
Mit der Methode insert() in der Klasse Batch werden dem Batch eine oder mehrere Insert-Mutationen hinzugefügt. Alle Mutationen in einem einzelnen Batch werden in kleinstmöglichen Schritten angewendet.
Dieser Code zeigt, wie die Daten geschrieben werden: