Cassandra tabel: Loo, Muuda, Pukseeri & Kärbi (näite abil)

Lang L: none (table-of-contents):

Anonim

Cassandra päringukeele (CQL) süntaks sarnaneb SQL-keelega.

  • Loo tabel
  • Muuda tabelit
  • Drop Table
  • Kärbi tabel

Kuidas tabelit luua

Cassandra veergude perekond sarnaneb RDBMS-i tabeliga. Veergude perekonda kasutatakse andmete salvestamiseks.

Cassandras veerupere loomiseks kasutatakse käsku „Loo tabel”.

Süntaks

Create table KeyspaceName.TableName(ColumnName DataType,ColumnName DataType,ColumnName DataType… Primary key(ColumnName)) with PropertyName=PropertyValue;
  1. Primaarvõti: primaarvõtit on kahte tüüpi.
    1. Üksik primaarvõti: ühe primaarvõtme määrab järgmine süntaks.

Süntaks

Primary key (ColumnName) 

Ühes primaarvõtmes on ainult üks veerg. Seda veergu nimetatakse ka sektsioonivõtmeks. Andmed jaotatakse selle veeru põhjal. Andmed hajutatakse jaotusvõtme põhjal erinevatele sõlmedele.

  1. Ühendatud esmane võti: Ühendatud esmane võti määratakse järgmise süntaksiga.

Süntaks

Primary key(ColumnName1,ColumnName2… )

Ülaltoodud süntaksis on ColumnName1 jaotusvõti ja ColumnName2 on klastrivõti. Andmed jaotatakse veeruNimi1 alusel ja andmed rühmitatakse veeruNimi2 põhjal. Klasterdamine on protsess, mis sorteerib sektsioonis olevad andmed.

  1. Liitpartitsiooni võti

    Liitmisvõtme määrab järgmine süntaks.

    Süntaks

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

    Ülaltoodud süntaksis on veerusNimi1 ja veeruNimi2 liitpartitsiooni võti. Andmed jaotatakse mõlema veeru ColumnName1 ja ColumnName2 põhjal ning andmed rühmitatakse ColumnName3 põhjal. Kui teil on ühe partitsiooni kohta liiga palju andmeid. Seejärel kasutatakse liitpartitsiooni võtit. Liitpartitsiooni võtit kasutatakse andmete jaoks mitme partitsiooni loomiseks.

  • Klausliga

    "With klausliga" kasutatakse määratletud tabeli mis tahes atribuudi ja selle väärtuse määramiseks. Näiteks kui soovite Cassandra tabeli andmeid tihendada. Tihenduse atribuudi saate määrata, määrates pakkimisalgoritmi atribuudi väärtuse jaotises "Klausliga".

Näide

Siin täidetakse käsk „Loo tabel”, mis loob võtmeruumis „Ülikool” tabeli nime „Tudeng”.

Pärast käsu „Loo tabel” edukat täitmist luuakse võtmeruumis „Ülikool” veergudega RollNo, Name ja dept tabel „Student”. RollNo on peamine võti. RollNo on ka jaotusvõti. Kõik andmed asuvad ühes sektsioonis.

Cassandra Alteri laud

Käsku „Muuda tabelit” kasutatakse veeru langetamiseks, uue veeru lisamiseks, veeru nime muutmiseks, veeru tüübi muutmiseks ja tabeli atribuudi muutmiseks.

Süntaks

Järgneb käsu "Muuda tabelit" süntaks.

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

Näide

Siin on käsu „Alter Table” hetktõmmis, mis lisab tabelisse Student uue veeru.

Pärast käsu „Muuda tabelit” edukat täitmist lisatakse tabelisse Tudeng uus veerg „Semester” andmetüübiga „int”.

Siin on ekraanipilt, mis näitab värskendatud õpilaste tabelit.

Drop Table

Käsk „Drop table” loobub määratud tabelist, mis sisaldab kõiki võtmeruumi andmeid. Enne tabeli kukutamist teeb Cassandra varukoopiana andmete, mitte skeemi hetktõmmise.

Süntaks

Drop Table KeyspaceName.TableName

Näide

Siin on täidetud käsu „Drop Table” hetktõmmis, mis loob tabeli Student võtmeruumist „University”.

Pärast käsu 'Drop Table' edukat täitmist visatakse tabel Student võtmeruumi ülikoolist välja.

Siin on hetktõmmis, mis näitab viga, mille Cassandra tagastas, kui proovis pääseda juurde õpilaste tabelile, mida pole olemas.

Kärbi tabel

Käsk „Tabeli kärpimine” eemaldab kõik andmed määratud tabelist. Enne andmete kärpimist võtab Cassandra andmete hetktõmmise varukoopiana.

Süntaks

Truncate KeyspaceName.TableName

Näide

Tabelis Student on kolm kirjet. Need on tabeli kirjed.

Siin on täidetud käsu "Truncate table" hetktõmmis, mis eemaldab kõik andmed tabelist Student.

Pärast käsu 'Lühita tabelit' edukat täitmist eemaldatakse kõik andmed tabelist Õpilane.

Siin on hetkepilt andmebaasi olekust, kus tabelis Student pole kirjeid.