我們將在 Cassandra 之旅中查看 Cassandra 集合資料類型教學。在本文中,我們將了解 Cassandra 的 Collection 資料類型。這些資料類型與 C、C 等中的陣列和結構具有相同的意義。
此外,我們將討論使用清單、集合和對應的 Cassandra 集合資料類型。
因此,讓我們從 Cassandra 集合資料類型開始。
在 Cassandra 中,集合資料類型本質上是多個值的儲存容器。通常,Cassandra-CQL 集合資料類型由單一變數定義。該變數本身有一個值範圍。
清單、集合和映射是幾種集合資料類型。對這些 Cassandra 集合資料類型執行大量操作。其中包括建立、插入、更新和驗證操作。
此資料類型的值以清單形式儲存。此清單包含單一值的多個副本。對於清單資料型別,只有一條規則。
元素不能依序修改。值儲存在清單中後,元素會被賦予特定的索引。這些索引可用於取得值。
在 Cassandra 中,個人可以使用 CREATE TABLE 指令建立具有清單資料類型的表。表中可能有很多欄位。創建表的語法是。
cqlsh:<keyspace>>CREATE TABLE <table name>(column1 PRIMARY KEY,column2 list <data type>,column3 list <data type>,.....);
建立一個表,其中包含「大學生」的名稱、學號和分支。
cqlsh> USE keyspace1; cqlsh:keyspace1> CREATE TABLE employee ... (EN int, ... NAME text, ... EMAIL LIST, ... PRIMARY KEY(EN), ... );
一個 |
姓名 |
電子郵件 |
---|---|---|
|
|
|
使用者可以使用 INSERT INTO 指令將元件加入表中。方括號中包含的每個值均以逗號分隔。語法是 -
cqlsh:<keyspace>> INSERT INTO <table name>(column1, column2, column3,....) VALUES('R1value1',['R1value1','R1value2','R1value3'...]['R1value11','R1value12','R1value13'...]...);
cqlsh:keyspace1> INSERT INTO college student (EN, NAME, EMAIL) ... VALUES(001,'hardik',{'hardi@gmail.com'}); cqlsh:keyspace1> INSERT INTO college student (EN, NAME, EMAIL) ... VALUES(002,'Ajites',{'ajit@mail.com'}); cqlsh:keyspace1> INSERT INTO college student (EN, NAME, EMAIL) ... VALUES(003,'Pushpa',{'tears@mail.com'});
一個 |
姓名 |
電子郵件 |
---|---|---|
001 |
#哈迪克 |
hardi@gmail.com |
002 |
#阿吉特斯 |
#ajit@mail.com |
003 |
#普什帕 |
#tears@mail.com |
Cassandra 的 UPDATE 指令用於更新某些表格列的值。更新語法如下。
cqlsh:<keyspace> UPDATE<table name> SET <column2>=<column2>+['value'] where <column1>='some value';
cqlsh:keyspace2>UPDATE college student SET EMAIL=EMAIL+['hardikgupta.1@gmail.com'] where EN=001;
一個 |
姓名 |
電子郵件 |
---|---|---|
001 |
#哈迪克 |
hardikgupta.1@gmail.com |
#002 |
#阿吉特斯 |
#ajit@mail.com |
003 |
#普什帕 |
#tears@mail.com |
使用者可以使用 SET Cassandra 集合資料類型來儲存元素集合。執行完畢後,集合的組成部分會以排序的方式傳回。
使用者可以使用具有以下語法的建構指令來建立包含該集的表。
cqlsh:<keyspace> CREATE TABLE<table name> (column1 PRIMARY KEY, column2 set <data type>, column3 set <data type>.....);
建立一個表,其中包含「大學生」的名稱、學號和分支。
cqlsh> USE keyspace2; cqlsh:keyspace2> CREATE TABLE employee ... (EN int, ... NAME text, ... EMAIL LIST<text>, ... PRIMARY KEY(EN), ... );
一個 |
姓名 |
電子郵件 |
---|---|---|
|
|
|
INSERT INTO 指令與下列語法一起使用,將值插入集合。
cqlsh:<keyspace>> INSERT INTO <table name>(column1, column2, column3...) VALUES('R1value',{'R1value1', 'R1value2',..},{ 'R1value11', 'R1value12',..}....);
> cqlsh:keyspace2> INSERT INTO college student (EN, NAME, EMAIL) ... VALUES(001,'hardik',{'hardi@gmail.com'}); cqlsh:keyspace2> INSERT INTO college student (EN, NAME, EMAIL) ... VALUES(002,'Ajites',{'ajit@mail.com'}); cqlsh:keyspace2> INSERT INTO college student (EN, NAME, EMAIL) ... VALUES(003,'Pushpa',{'tears@mail.com'});
一個 |
姓名 |
電子郵件 |
---|---|---|
001 |
#哈迪克 |
hardi@gmail.com |
002 |
#阿吉特斯 |
#ajit@mail.com |
003 |
#普什帕 |
#tears@mail.com |
使用者可以使用此語法更新集合中的內容。
cqlsh:<keyspace>>UPDATE <table name> SET <column2>=<column2>+['value'] where <column1>='some value';
cqlsh:keyspace2>UPDATE college student SET EMAIL=EMAIL+['hardikgupta.1@gmail.com'] where EN=001;
一個 |
姓名 |
電子郵件 |
---|---|---|
001 |
#哈迪克 |
hardikgupta.1@gmail.com |
#002 |
#阿吉特斯 |
#ajit@mail.com |
003 |
#普什帕 |
#tears@mail.com |
一对键值项存储在映射(Cassandra 集合数据类型)中。
用户可以使用以下语法的“构造”命令来创建带有地图的表。
cqlsh:<keyspace> CREATE TABLE<table name> (column1 PRIMARY KEY, column2 map <type, data type>, column3 map <type, data type>.....);
构建一个表,其中包含“大学生”的名称、学号和分支。
cqlsh> USE keyspace3; cqlsh:keyspace3> CREATE TABLE employee ... (EN int, ... NAME text, ... EMAIL LIST, ... PRIMARY KEY(EN), ... );
一个 |
姓名 |
电子邮件 |
---|---|---|
|
|
|
INSERT INTO 命令与以下语法一起使用,将值插入到映射中。
cqlsh:<keyspace>> INSERT INTO <table name>(column1, column2, column3...) VALUES('R1value',{'R1value1':'R1value1' ,R1value2:'R1value01',..},{ 'R1value11':'R1value011','R1value12':'R1value012',..}....);
cqlsh:keyspace3> INSERT INTO college student (EN, NAME, EMAIL) ... VALUES(001,'hardik',{'hardi@gmail.com'}); cqlsh:keyspace3> INSERT INTO college student (EN, NAME, EMAIL) ... VALUES(002,'Ajites',{'ajit@mail.com'}); cqlsh:keyspace3> INSERT INTO college student (EN, NAME, EMAIL) ... VALUES(003,'Pushpa',{'tears@mail.com'});
一个 |
姓名 |
电子邮件 |
---|---|---|
001 |
哈迪克 |
hardi@gmail.com |
002 |
阿吉特斯 |
ajit@mail.com |
003 |
普什帕 |
tears@mail.com |
使用此技术,用户可以修改集合的内容。
cqlsh:<keyspace>>UPDATE <table name> SET <column2>=<column2>+['value1':'value2'] where <column1>='some value';
cqlsh:keyspace3>UPDATE college student SET EMAIL=EMAIL+['hardikgupta.1@gmail.com'] where EN=001;
一个 |
姓名 |
电子邮件 |
---|---|---|
001 |
哈迪克 |
hardikgupta.1@gmail.com |
002 |
阿吉特斯 |
ajit@mail.com |
003 |
普什帕 |
tears@mail.com |
这是 Apache Cassandra 中的三种集合数据类型。通过 Cassandra 集合可以轻松进行任务管理。集合允许存储大量项目。
以上是Apache Cassandra 中的集合資料類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!