V tomto článku se dozvíte, jak používat příkaz Apache Cassandra TRUNCATE. Tento příkaz umožňuje odstranit všechna data z tabulky bez odstranění tabulky nebo jejího schématu.
Jednoduše řečeno, příkaz TRUNCATE umožňuje resetovat data uložená v tabulce, což umožňuje obnovit nebo vložit nová data.
Syntaxe příkazu Cassandra Truncate
Syntaxe příkazu TRUNCATE vypadá takto:
ZKRÁTIT [TABLE] [keyspace.table_name]
Ve výše uvedené syntaxi můžete klíčové slovo TABLE vynechat. Příkaz provede podobnou akci.
Mějte na paměti, že příkaz TRUNCATE odesílá příkaz JMX do všech uzlů v klastru, který obsahuje data cíle. To umožňuje uzlům synchronizovat se a zůstat v obraze s nedávnými změnami dat. Pokud je některý z uzlů v clusteru mimo provoz, příkaz selže a vrátí chybu.
Vytváření vzorové tabulky a dat
Pro ilustraci vytvoříme vzorový klíčový prostor a tabulku. Příkazy jsou uvedeny v úryvcích níže:
cqlsh> vytvořit klíčový prostor height_info... s replikací = {
... 'class': 'SimpleStrategy',
... 'replikační_faktor': 1};
cqlsh> USE info o vyske;
cqlsh:height_info> CREATE TABLE příjemců(
... vaše ruka,
... text uživatelského jména,
... výška int,
... PRIMÁRNÍ KLÍČ(id, výška));
Poté můžeme vložit ukázková data, jak je znázorněno v příkazech níže:
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);
Příklad operace zkrácení
Data uložená v tabulce před zkrácením vypadají takto:
VYBRAT * Z příjemců;
Tabulku můžeme zkrátit takto:
cqlsh:height_info> TRUNCATE TABLE height_info.recipients;Nakonec můžeme potvrdit, že data byla odstraněna z tabulky jako:
cqlsh:height_info> SELECT * FROM příjemců;
Všimnete si, že tabulka stále existuje včetně všech definic schémat. Data z tabulky však byla odstraněna a zůstala prázdná tabulka.
Mějte na paměti, že operace TRUNCATE je nevratná. Buďte opatrní při jeho používání a potenciální ztrátě dat.
Závěr
V tomto příspěvku jste se naučili, jak odstranit všechna data z tabulky při zachování schématu tabulky pomocí příkazu CQL TRUNCATE.