U ovom ćete članku naučiti kako koristiti naredbu Apache Cassandra TRUNCATE. Ova vam naredba omogućuje uklanjanje svih podataka iz tablice bez brisanja tablice ili njezine sheme.
Jednostavnim rječnikom rečeno, naredba TRUNCATE omogućuje vam poništavanje podataka pohranjenih u tablici što vam omogućuje vraćanje ili umetanje novih podataka.
Sintaksa naredbe Cassandra Truncate
Sintaksa naredbe TRUNCATE je prikazana na slici:
TRUNCATE [TABLE] [keyspace.table_name]
Možete izostaviti ključnu riječ TABLE u gornjoj sintaksi. Naredba će izvršiti sličnu radnju.
Imajte na umu da naredba TRUNCATE šalje JMX naredbu svim čvorovima u klasteru koji sadrži podatke cilja. To omogućuje čvorovima da se sinkroniziraju i budu u tijeku s nedavnim promjenama podataka. Ako bilo koji od čvorova u klasteru ne radi, naredba neće uspjeti i vratiti će pogrešku.
Stvaranje uzorka tablice i podataka
U svrhu ilustracije, napravit ćemo ogledni prostor tipki i tablicu. Naredbe su prikazane u isječcima ispod:
cqlsh> stvoriti prostor tipki visina_info... s replikacijom = {
... 'class': 'SimpleStrategy',
... 'faktor_replikacije': 1};
cqlsh> KORISTI visinu_info;
cqlsh:height_info> CREATE TABLE recipients(
... tvoja ruka,
... tekst korisničkog imena,
... unutrašnja visina,
... PRIMARNI KLJUČ(id, visina));
Zatim možemo umetnuti ogledne podatke kao što je prikazano u naredbama u nastavku:
cqlsh:height_info> INSERT INTO recipients(id, username, height) values (0, 'user1', 210);
cqlsh:height_info> INSERT INTO recipients(id, username, height) values (1, 'user2', 115);
cqlsh:height_info> INSERT INTO recipients(id, username, height) values (2, 'user3', 202);
cqlsh:height_info> INSERT INTO recipients(id, username, height) values (3, 'user4', 212);
cqlsh:height_info> INSERT INTO recipients(id, username, height) values (4, 'user5', 216);
Primjer operacije skraćivanja
Podaci pohranjeni u tablici prije skraćivanja su kao što je prikazano:
SELECT * FROM primatelja;
Tablicu možemo skratiti kao što je prikazano:
cqlsh:height_info> TRUNCATE TABLE height_info.recipients;Konačno, možemo potvrditi da su podaci uklonjeni iz tablice kao:
cqlsh:height_info> SELECT * FROM primatelja;
Primijetit ćete da tablica još uvijek postoji uključujući sve definicije sheme. Međutim, podaci iz tablice su uklonjeni ostavljajući praznu tablicu.
Imajte na umu da je operacija TRUNCATE nepovratna. Budite oprezni pri njegovoj uporabi i mogućem gubitku podataka.
Zaključak
U ovom ste postu naučili kako ukloniti sve podatke iz tablice uz očuvanje sheme tablice pomoću naredbe CQL TRUNCATE.