Maison > Article > base de données > Types de données de collecte dans Apache Cassandra
Nous consulterons le didacticiel sur les types de données de la collection Cassandra dans notre parcours Cassandra. Dans cet article, nous découvrirons le type de données Collection de Cassandra. Ces types de données ont la même signification que les tableaux et les structures en C, C++, etc.
Nous discuterons également des types de données de collection Cassandra à l'aide de listes, d'ensembles et de cartes.
Commençons donc par le type de données de collection Cassandra.
Dans Cassandra, un type de données de collection est essentiellement un conteneur de stockage pour plusieurs valeurs. En règle générale, les types de données de collection Cassandra-CQL sont définis par une seule variable. La variable elle-même a une plage de valeurs.
Les listes, les ensembles et les cartes sont plusieurs types de données de collecte. Effectuez un large éventail d’opérations sur ces types de données de collection Cassandra. Celles-ci incluent les opérations de création, d’insertion, de mise à jour et de vérification.
Les valeurs de ce type de données sont enregistrées sous forme de liste. La liste contient plusieurs copies d'une seule valeur. Pour les types de données de liste, il n’existe qu’une seule règle.
Les éléments ne peuvent pas être modifiés séquentiellement. Lorsqu'une valeur est stockée dans une liste, l'élément se voit attribuer un index spécifique. Ces index peuvent être utilisés pour obtenir des valeurs.
Dans Cassandra, on peut créer une table avec un type de données liste à l'aide de la commande CREATE TABLE. Il peut y avoir plusieurs colonnes dans le tableau. La syntaxe pour créer une table est la suivante.
cqlsh:<keyspace>>CREATE TABLE <table name>(column1 PRIMARY KEY,column2 list <data type>,column3 list <data type>,.....);
Construisez un tableau contenant le nom, le numéro d'étudiant et la branche des « étudiants ».
cqlsh> USE keyspace1; cqlsh:keyspace1> CREATE TABLE employee ... (EN int, ... NAME text, ... EMAIL LIST, ... PRIMARY KEY(EN), ... );
un |
Nom |
|
---|---|---|
|
|
|
Les utilisateurs peuvent utiliser la commande INSERT INTO pour ajouter des composants au tableau. Chaque valeur entre crochets est séparée par des virgules. La syntaxe est -
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'});
un |
Nom |
|
---|---|---|
001 |
Hardik |
hardi@gmail.com |
002 |
Ajits |
ajit@mail.com |
003 |
Pushpa |
tears@mail.com |
La commande UPDATE de Cassandra est utilisée pour mettre à jour les valeurs de certaines colonnes du tableau. La syntaxe mise à jour est la suivante.
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;
un |
Nom |
|
---|---|---|
001 |
Hardik |
hardikgupta.1@gmail.com |
002 |
Ajits |
ajit@mail.com |
003 |
Pushpa |
tears@mail.com |
Les utilisateurs peuvent utiliser le type de données de collection SET Cassandra pour stocker des collections d'éléments. Après exécution, les composants de la collection sont renvoyés dans un ordre trié.
Les utilisateurs peuvent utiliser la commande construct avec la syntaxe suivante pour créer un tableau contenant l'ensemble.
cqlsh:<keyspace> CREATE TABLE<table name> (column1 PRIMARY KEY, column2 set <data type>, column3 set <data type>.....);
Construisez un tableau contenant le nom, le numéro d'étudiant et la branche des « étudiants ».
cqlsh> USE keyspace2; cqlsh:keyspace2> CREATE TABLE employee ... (EN int, ... NAME text, ... EMAIL LIST<text>, ... PRIMARY KEY(EN), ... );
un |
Nom |
|
---|---|---|
|
|
|
INSERT INTO est utilisée avec la syntaxe suivante pour insérer des valeurs dans une collection.
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'});
un |
Nom |
|
---|---|---|
001 |
Hardik |
hardi@gmail.com |
002 |
Ajits |
ajit@mail.com |
003 |
Pushpa |
tears@mail.com |
Les utilisateurs peuvent utiliser cette syntaxe pour mettre à jour le contenu d'une collection.
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;
un |
Nom |
|
---|---|---|
001 |
Hardik |
hardikgupta.1@gmail.com |
002 |
Ajits |
ajit@mail.com |
003 |
Pushpa |
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 集合可以轻松进行任务管理。集合允许存储大量项目。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!