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'.
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.
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 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.
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 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.
Hier is de momentopname van het uitgevoerde commando 'Tabel afkappen' waarmee alle gegevens uit de tabel Student worden verwijderd.
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.