De syntaxis van Cassandra Query Language (CQL) lijkt op SQL-taal.
- Maak een tabel
- Verander de tabel
- Laat de tafel vallen
- Tabel afkappen
Hoe een tabel te maken
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 in Cassandra te maken.
Syntaxis
Create table KeyspaceName.TableName(ColumnName DataType,ColumnName DataType,ColumnName DataType… Primary key(ColumnName)) with PropertyName=PropertyValue;
- Primaire sleutel: er zijn twee soorten primaire sleutels.
- Eén primaire sleutel: één primaire sleutel wordt gespecificeerd door de volgende syntaxis.
Syntaxis
Primary key (ColumnName)
In de enkele primaire sleutel is er maar een enkele kolom. Die kolom wordt ook wel partitiesleutel genoemd. Gegevens worden gepartitioneerd op basis van die kolom. Gegevens worden op verschillende knooppunten verspreid op basis van de partitiesleutel.
- Samengestelde primaire sleutel: samengestelde primaire sleutel wordt gespecificeerd door de volgende syntaxis.
Syntaxis
Primary key(ColumnName1,ColumnName2… )
In bovenstaande syntaxis is ColumnName1 de partitioneringssleutel en ColumnName2 de clustersleutel. 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.
- Samengestelde partitiesleutel
Samengestelde partitiesleutel wordt gespecificeerd door de volgende syntaxis.
Syntaxis
Primary Key((ColumnName1,ColumnName2),ColumnName3… ))
In 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 teveel gegevens op een enkele partitie heeft. Vervolgens wordt de samengestelde partitiesleutel gebruikt. Samengestelde partitiesleutel wordt gebruikt om meerdere partities voor de gegevens te maken.
- Met clausule
"Met clausule" wordt gebruikt om een eigenschap en zijn waarde voor de gedefinieerde tabel op te geven. Als u bijvoorbeeld Cassandra-tabelgegevens wilt comprimeren. U kunt de compressie-eigenschap instellen door de eigenschapwaarde van het compressie-algoritme op te geven in "With-clausule".
Voorbeeld
Hier is de uitvoering van de opdracht 'Tabel maken' waarmee de tabelnaam 'Student' wordt aangemaakt in de toetsruimte 'Universiteit'.
Na succesvolle uitvoering van het commando 'Create table', wordt de tabel 'Student' aangemaakt in de keyspace 'University' met de kolommen RollNo, Name en department. RollNo is de primaire sleutel. RollNo is ook een partitiesleutel. Alle gegevens bevinden zich in de enkele partitie.
Cassandra Alter tafel
Het commando 'Alter Table' wordt gebruikt om de kolom te laten vallen, een nieuwe kolom toe te voegen, de kolomnaam te wijzigen, het kolomtype te wijzigen en de eigenschap van de tabel te wijzigen.
Syntaxis
Hieronder volgt de syntaxis van het commando 'Tabel wijzigen'.
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 'Alter Table' dat een nieuwe kolom in de tabel Student zal toevoegen.
Na succesvolle uitvoering van het commando 'Alter Table', zal een nieuwe kolom 'Semester' met 'int' datatype worden toegevoegd aan de tabel Student.
Hier is de schermafbeelding die de bijgewerkte leerlingentabel laat zien.
Laat de tafel vallen
Commando 'Drop table' verwijdert de gespecificeerde tabel inclusief alle gegevens uit de keyspace. Voordat Cassandra de tabel laat vallen, maakt ze een momentopname van de gegevens, niet het schema als back-up.
Syntaxis
Drop Table KeyspaceName.TableName
Voorbeeld
Hier is de momentopname van de uitgevoerde opdracht 'Drop Table' waarmee de tabel Student wordt verwijderd uit de toetsruimte 'University'.
Na het succesvol uitvoeren van het commando 'Drop Table', wordt table Student verwijderd uit de keyspace University.
Hier is de momentopname die de fout laat zien die door de Cassandra is geretourneerd bij het proberen toegang te krijgen tot de studententabel die niet bestaat.
Tabel afkappen
De opdracht 'Truncate table' verwijdert alle gegevens uit de opgegeven tabel. Voordat de gegevens worden ingekort, maakt Cassandra 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 'Truncate table' 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 waarin de tabel Student geen records bevat.