Cassandra-tafel: creëren, wijzigen, neerzetten & Afkappen (met voorbeeld)

Inhoudsopgave:

Anonim

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;
  1. Primaire sleutel: er zijn twee soorten primaire sleutels.
    1. 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.

  1. 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.

  1. 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.