Daher können Sie auf ein Szenario stoßen, in dem Sie einen Reset in der Datenbank oder einer bestimmten Tabelle durchführen müssen. In diesem Beitrag werden Sie vermittelt, wie Sie alle Daten aus einer Cassandra -Tabelle entfernen können, ohne das Tabellenschema zu entfernen. Auf diese Weise können Sie alle Daten zurücksetzen und von vorne beginnen.”
CASSANDRA CRUCNATE -Befehl
Wir können mit dem Befehl TRUNCATE alle Daten aus einer bestimmten Tabelle entfernen und gleichzeitig das Tabellenlayout und das Schema erhalten.
Sobald Sie den Befehl Truncate ausgeführt haben, werden alle Daten aus der Tabelle entfernt, und es ist unmöglich, sich umzukehren, es sei denn, Sie haben eine Sicherungskopie der Tabelle. Dieser Vorgang wird auf alle Knoten in Ihrem Cassandra -Cluster angewendet. Dies stellt sicher, dass alle Daten in allen Knoten synchronisiert sind.
Die Befehlssyntax ist wie gezeigt:
Truncate [Tabelle] [Keyspace_Name.Tabellenname]
Wenn Sie sich bereits im Zielschlüsselspace befinden, können Sie die Syntax wie gezeigt verwenden:
TRUNCATE [TABLE] [TABLE_NAME]
Stellen Sie vor dem Ausführen des Befehls abschließend sicher:
Schritt 1 - Wählen Sie die Zieltabelle aus
Der erste Schritt besteht darin, sicherzustellen, dass die Zieltabelle im Schlüsselbereich vorliegt.
Keyspace erstellen
Bevor Sie Beispieldaten einrichten, benötigen wir eine Datenbank, um die Daten zu speichern. Wir können dies tun, indem wir einen Beispielschlüsselspace erstellen.
Die Abfrage ist wie unten angegeben:
CQLSH> Schlüsselspeicher erstellen mit Replikation = 'Klasse': 'SimpleStrategy', 'replication_factor': 3;
Die obige Abfrage erstellt einen einfachen Schlüsselraum namens Store mit einem Replication_Factor von 3. Wenn Sie mit Cassandra -Schlüsselspazitäten nicht vertraut sind, lesen Sie unser Tutorial zu diesem Thema, um mehr zu erfahren.
Nach dem Erstellen können wir mit dem Befehl zum Schlüsselspace wechseln:
CQLSH> Store verwenden;
Tabelle erstellen
Der nächste Schritt besteht darin, eine Tabelle zu erstellen, die die Struktur für unsere Daten enthält. Denken Sie daran, dass Cassandra unstrukturierte Daten bewältigen kann. Der Einfachheit halber werden wir jedoch versuchen, eine Tabellenstruktur zu verwenden.
Wir können die Abfrage wie gezeigt ausführen:
CQLSH: Store> Tabelleninventar erstellen (product_id int, product_name text, quantität int, preis int, Verfügbarkeit boolean, Primärschlüssel (product_id));
Die obige Abfrage sollte eine Inventarabelle mit den angegebenen Spalten und Datentypen erstellen.
CQLSH: Speicher> Inventar einfügen (product_id, product_name, Menge, Preis, Verfügbarkeit)
… Werte (1, 'Meta Quest', 5, 399, wahr);
CQLSH: Speicher> Inventar (product_id, product_name, Menge, Preis, Verfügbarkeit) Werte (2, 'echo dot', 10, 27, true);
CQLSH: Store> Inventory (product_id, product_name, Menge, Preis, Verfügbarkeit) Werte (3, 'Tile Pro', 10, 26, Falsch) einfügen;
CQLSH: Speicher> Inventar (product_id, product_name, Menge, Preis, Verfügbarkeit) Werte (4, 'Monitor', 100, 499, False) einfügen;
CQLSH: Store> Inventory (product_id, product_name, Menge, Preis, Verfügbarkeit) Werte (5, 'Laptop', 87, 700, Richtig) einfügen;
Wir können dann die Tabelle als:
Wählen Sie * aus dem Inventar;
Die obige Abfrage sollte die in der Tabelle gespeicherten Datensätze wie gezeigt zurückgeben:
Cassandra löscht alle Zeilen
Um alle Daten aus dem Cluster zu entfernen, während Sie das Tabellenschema erhalten, können wir den Befehl TRUNCATE ausführen:
Tischgeschäft verkürzen.Inventar;
Dieser Befehl sollte alle Daten aus der Tabelle löschen und gleichzeitig die Tabellenstruktur erhalten.
Abschluss
In diesem Artikel wurde abgedeckt. Dies ist ein großartiger Befehl beim Zurücksetzen der Tabelle, ohne ihn neu zu erstellen.
Danke fürs Lesen und glücklicher Codierung!!