Tässä artikkelissa opit käyttämään Apache Cassandra TRUNCATE -komentoa. Tämän komennon avulla voit poistaa kaikki tiedot taulukosta poistamatta taulukkoa tai sen kaaviota.
Yksinkertaisesti sanottuna TRUNCATE-komennon avulla voit nollata taulukkoon tallennetut tiedot, jolloin voit palauttaa tai lisätä uusia tietoja.
Cassandra Truncate Command Syntaksi
TRUNCATE-komennon syntaksi on seuraavanlainen:
TYPENNÄ [TAULUKKO] [avaintila.taulukon_nimi]
Voit jättää TABLE-avainsanan pois yllä olevasta syntaksista. Komento suorittaa samanlaisen toiminnon.
Muista, että TRUNCATE-komento lähettää JMX-komennon kaikille kohteen tiedot sisältävän klusterin solmuille. Näin solmut voivat synkronoida ja pysyä ajan tasalla viimeaikaisista datamuutoksista. Jos jompikumpi klusterin solmuista ei toimi, komento epäonnistuu ja palauttaa virheilmoituksen.
Näytetaulukon ja -tietojen luominen
Havainnollistamista varten luomme näyteavaintilan ja taulukon. Komennot ovat alla olevien katkelmien mukaiset:
cqlsh> luo näppäimistön korkeus_tiedot... replikaatiolla = {
... 'class': 'SimpleStrategy',
... 'replication_factor': 1};
cqlsh> KÄYTÄ korkeustiedot;
cqlsh:height_info> CREATE TABLE vastaanottajat(
... kätesi,
... käyttäjätunnuksen teksti,
... korkeus int,
... PRIMARY KEY(id, korkeus));
Voimme sitten lisätä näytetietoja alla olevien komentojen mukaisesti:
cqlsh:height_info> INSERT INTO recipients(id, username, height) arvot (0, 'käyttäjä1', 210);
cqlsh:height_info> INSERT INTO recipients(id, username, height) arvot (1, 'user2', 115);
cqlsh:height_info> INSERT INTO recipients(id, username, height) arvot (2, 'user3', 202);
cqlsh:height_info> INSERT INTO recipients(id, username, height) arvot (3, 'user4', 212);
cqlsh:height_info> INSERT INTO recipients(id, username, height) arvot (4, 'user5', 216);
Esimerkki katkaisutoiminnosta
Taulukkoon ennen katkaisua tallennetut tiedot ovat seuraavanlaiset:
SELECT * FROM vastaanottajista;
Voimme katkaista taulukon kuvan osoittamalla tavalla:
cqlsh:korkeus_info> KATKANA TAULUKO korkeus_info.vastaanottajat;Lopuksi voimme varmistaa, että tiedot on poistettu taulukosta seuraavasti:
cqlsh:height_info> SELECT * FROM vastaanottajat;
Huomaat, että taulukko on edelleen olemassa, mukaan lukien kaikki skeeman määritelmät. Taulukon tiedot on kuitenkin poistettu, joten taulukko on tyhjä.
Muista, että TRUNCATE-toiminto on peruuttamaton. Ole varovainen sen käytössä ja mahdollisessa tietojen häviämisessä.
Johtopäätös
Tässä viestissä opit poistamaan kaikki tiedot taulukosta säilyttäen samalla taulukkokaavion käyttämällä CQL TRUNCATE -komentoa.