Cassandra Příklad tabulky: Create, Alter, Drop & Truncate Table
Syntaxe Cassandra dotazovací jazyk (CQL) se podobá s SQL Jazyk.
Jak vytvořit tabulku v Cassandra
Rodina sloupců v Cassandra je podobná tabulce RDBMS. Rodina sloupců se používá k ukládání dat.
Příkaz 'Create Table' se používá k vytvoření rodiny sloupců v Cassandra.
Syntax
Create table KeyspaceName.TableName ( ColumnName DataType, ColumnName DataType, ColumnName DataType . . . Primary key(ColumnName) ) with PropertyName=PropertyValue;
1. Primární klíč: K dispozici jsou dva typy primární klíč.
- Jediný primární klíč: Jediný primární klíč je určen následující syntaxí.
Syntax
Primary key (ColumnName)
V jediném primárním klíči je pouze jeden sloupec. Tento sloupec se také nazývá rozdělovací klíč. Data jsou rozdělena na základě tohoto sloupce. Data jsou šířena na různých uzlech na základě klíče oddílu.
2. Složený primární klíč: Složený primární klíč je určen následující syntaxí.
Syntax
Primary key(ColumnName1,ColumnName2 . . .)
Ve výše uvedené syntaxi je rozdělovacím klíčem ColumnName1 a ColumnName2 je Clusterklíč. Data budou rozdělena na základě ColumnName1 a data budou klastrována na základě ColumnName2. Clustering je proces, který třídí data v oddílu.
3. Složený klíč rozdělení: Složený rozdělovací klíč je určen následující syntaxí.
Syntax
Primary Key((ColumnName1,ColumnName2),ColumnName3...))
Ve výše uvedené syntaxi jsou ColumnName1 a ColumnName2 složeným klíčem oddílu. Data budou rozdělena na základě obou sloupců ColumnName1 a ColumnName2 a data budou klastrována na základě ColumnName3. Pokud máte na jednom oddílu příliš mnoho dat. Poté se použije složený rozdělovací klíč. Složený rozdělovací klíč se používá k vytvoření více oddílů pro data.
- S klauzulí
„S klauzulí“ se používá k určení jakékoli vlastnosti a její hodnoty pro definovanou tabulku. Například pokud chcete komprimovat Cassandra data tabulky. Vlastnost komprese můžete nastavit zadáním hodnoty vlastnosti kompresního algoritmu v klauzuli „With“.
Příklad
Zde je provedení příkazu 'Create table', který vytvoří tabulku s názvem 'Student' v prostoru klíčů 'University'.
Po úspěšném provedení příkazu 'Create table' se v klíčovém prostoru 'University' vytvoří tabulka 'Student' se sloupci RollNo, Name a dept. RollNo je primární klíč. RollNo je také klíč oddílu. Všechna data budou v jediném oddílu.
Cassandra Změnit stůl
Příkaz 'Změnit tabulku' se používá k odstranění sloupce, přidání nového sloupce, změně názvu sloupce, změně typu sloupce a změně vlastnosti tabulky.
Syntax
Následuje syntaxe příkazu 'Alter Table.'
Alter table KeyspaceName.TableName + Alter ColumnName TYPE ColumnDataype | Add ColumnName ColumnDataType | Drop ColumnName | Rename ColumnName To NewColumnName | With propertyName=PropertyValue
Příklad
Zde je snímek příkazu 'Změnit tabulku', který přidá nový sloupec do tabulky Student.
Po úspěšném provedení příkazu 'Změnit tabulku' bude do tabulky Student přidán nový sloupec 'Semestr' s datovým typem 'int'.
Zde je snímek obrazovky, který ukazuje aktualizovanou tabulku Student.
Cassandra Drop table
Příkaz 'Drop table' zruší zadanou tabulku včetně všech dat z klíčového prostoru. Než shodíte stůl, Cassandra pořídí snímek dat, nikoli schéma jako zálohu.
Syntax
Drop Table KeyspaceName.TableName
Příklad
Zde je snímek provedeného příkazu 'Drop Table', který vypustí tabulku Student z klíčového prostoru 'University'.
Po úspěšném provedení příkazu 'Drop Table' bude tabulka Student odstraněna z klíčového prostoru University.
Zde je snímek, který ukazuje chybu vrácenou serverem Cassandra při pokusu o přístup k neexistující tabulce Student.
Cassandra Zkrátit tabulku
Příkaz 'Truncate table' odstraní všechna data ze zadané tabulky. Před zkrácením dat Cassandra vezme snímek dat jako zálohu.
Syntax
Truncate KeyspaceName.TableName
Příklad
V tabulce Student jsou tři záznamy. Toto jsou záznamy v tabulce.
Zde je snímek provedeného příkazu 'Truncate table', který odstraní všechna data z tabulky Student.
Po úspěšném provedení příkazu 'Truncate Table' budou všechna data z tabulky Student odstraněna.
Zde je snímek stavu databáze, kde nejsou žádné záznamy v tabulce Student.