Cassandra Tabelvoorbeeld: Tabel maken, wijzigen, verwijderen en afkappen

De syntaxis van Cassandra querytaal (CQL) lijkt op met SQL taal.

Hoe u een tabel maakt in Cassandra

Kolomfamilie in Cassandra is vergelijkbaar met de RDBMS-tabel. Kolomfamilie wordt gebruikt om gegevens op te slaan.

Het commando 'Tabel maken' wordt gebruikt om een ​​kolomfamilie aan te maken Cassandra.

Syntaxis

Create table KeyspaceName.TableName
(
ColumnName DataType,
ColumnName DataType,
ColumnName DataType
.
.
.
Primary key(ColumnName)
) with PropertyName=PropertyValue;

1. Primaire sleutel: Er zijn twee types hoofdsleutel.

  • Enkele primaire sleutel: Eén primaire sleutel wordt gespecificeerd met de volgende syntaxis.

Syntaxis

Primary key (ColumnName)

In de enkele primaire sleutel is er slechts één kolom. Die kolom wordt ook wel partitiesleutel genoemd. Gegevens worden gepartitioneerd op basis van die kolom. Gegevens worden op basis van de partitiesleutel over verschillende knooppunten verspreid.

2. Samengestelde primaire sleutel: Een samengestelde primaire sleutel wordt gespecificeerd met de volgende syntaxis.

Syntaxis

Primary key(ColumnName1,ColumnName2 . . .)

In de bovenstaande syntaxis is ColumnName1 de partitiesleutel en ColumnName2 de Clustering-sleutel. Gegevens worden gepartitioneerd op basis van ColumnName1 en gegevens worden geclusterd op basis van ColumnName2. Clustering is het proces dat gegevens in de partitie sorteert.

3. Samengestelde partitiesleutel: De samengestelde partitiesleutel wordt gespecificeerd met de volgende syntaxis.

Syntaxis

Primary Key((ColumnName1,ColumnName2),ColumnName3...))

In de bovenstaande syntaxis zijn ColumnName1 en ColumnName2 de samengestelde partitiesleutel. Gegevens worden gepartitioneerd op basis van beide kolommen ColumnName1 en ColumnName2 en gegevens worden geclusterd op basis van ColumnName3. Als u te veel gegevens op één partitie hebt. Dan wordt de samengestelde partitiesleutel gebruikt. De samengestelde partitiesleutel wordt gebruikt om meerdere partities voor de gegevens te maken.

  • Met clausule

“With-clausule” wordt gebruikt om elke eigenschap en de waarde ervan voor de gedefinieerde tabel op te geven. Bijvoorbeeld als u wilt comprimeren Cassandra tabel gegevens. U kunt de compressie-eigenschap instellen door de eigenschapswaarde van het compressie-algoritme op te geven in 'With-clausule'.

Voorbeeld

Hier is de uitvoering van het commando 'Tabel maken', waardoor de tabelnaam 'Student' wordt aangemaakt in de sleutelruimte 'Universiteit'.

Cassandra Tabel maken

Na succesvolle uitvoering van het commando 'Tabel aanmaken' wordt in de sleutelruimte 'Universiteit' tabel 'Student' aangemaakt met de kolommen RollNo, Naam en afd. RollNo is de primaire sleutel. RollNo is ook een partitiesleutel. Alle gegevens bevinden zich op één partitie.

Cassandra Tabel wijzigen

Het commando 'Tabel wijzigen' wordt gebruikt om een ​​kolom te verwijderen, een nieuwe kolom toe te voegen, de kolomnaam te wijzigen, het kolomtype te wijzigen en de eigenschap van de tabel te wijzigen.

Syntaxis

Hieronder staat de syntaxis van de opdracht 'Alter Table'.

Alter table KeyspaceName.TableName  +
Alter ColumnName TYPE ColumnDataype |
Add ColumnName ColumnDataType |
Drop ColumnName |
Rename ColumnName To NewColumnName |
With propertyName=PropertyValue

Voorbeeld

Hier is de momentopname van het commando 'Tabel wijzigen' waarmee een nieuwe kolom aan de tabel Student wordt toegevoegd.

Cassandra Tabel wijzigen

Na succesvolle uitvoering van het commando 'Alter Table' wordt een nieuwe kolom 'Semester' met het datatype 'int' toegevoegd aan de tabel Student.

Hier is de schermafbeelding die de bijgewerkte Student-tabel toont.

Cassandra Tabel wijzigen

Cassandra Laat de tafel vallen

Met het commando 'Tabel neerzetten' wordt de opgegeven tabel verwijderd, inclusief alle gegevens uit de sleutelruimte. Voordat u de tafel laat vallen, Cassandra maakt een momentopname van de gegevens en niet van het schema als back-up.

Syntaxis

Drop Table KeyspaceName.TableName

Voorbeeld

Hier is de momentopname van het uitgevoerde commando 'Drop Table' waarmee tabel Student uit de sleutelruimte 'University' wordt verwijderd.

Cassandra Laat de tafel vallen

Na succesvolle uitvoering van het commando 'Drop Table' wordt tabel Student verwijderd uit de keyspace University.

Hier is de momentopname die de fout laat zien die wordt geretourneerd door de Cassandra wanneer geprobeerd wordt toegang te krijgen tot de studententabel die niet bestaat.

Cassandra Laat de tafel vallen

Cassandra Tabel afkappen

Het commando 'Tabel afkappen' verwijdert alle gegevens uit de opgegeven tabel. Voordat u de gegevens afkapt, Cassandra neemt de momentopname van de gegevens als back-up.

Syntaxis

Truncate KeyspaceName.TableName

Voorbeeld

Er zijn drie records in de tabel Student. Dit zijn de records in de tabel.

Cassandra Tabel afkappen

Hier is de momentopname van het uitgevoerde commando 'Tabel afkappen' waarmee alle gegevens uit de tabel Student worden verwijderd.

Cassandra Tabel afkappen

Na succesvolle uitvoering van het commando 'Truncate Table' worden alle gegevens uit de tabel Student verwijderd.

Hier is de momentopname van de databasestatus waarbij er geen records in de tabel Student staan.

Cassandra Tabel afkappen