- Cassandra教程
- Cassandra - 主页
- Cassandra - 简介
- Cassandra - 架构
- Cassandra - 数据模型
- Cassandra - 安装
- Cassandra - 引用的 Api
- Cassandra-Cqlsh
- Cassandra - Shell 命令
- Cassandra 键空间操作
- Cassandra - 创建键空间
- Cassandra - 更改键空间
- Cassandra - 删除 Keyspace
- Cassandra 表操作
- Cassandra - 创建表
- Cassandra - 更改表
- Cassandra - 删除表
- Cassandra - 截断表
- Cassandra - 创建索引
- Cassandra - 删除索引
- Cassandra - 批处理
- Cassandra CURD 操作
- Cassandra - 创建数据
- Cassandra - 更新数据
- Cassandra - 读取数据
- Cassandra - 删除数据
- Cassandra CQL 类型
- Cassandra - CQL 数据类型
- Cassandra - CQL 集合
- CQL 用户定义的数据类型
- Cassandra有用的资源
- Cassandra - 快速指南
- Cassandra - 有用的资源
- Cassandra - 讨论
Cassandra - CQL 集合
CQL 提供了使用集合数据类型的便利。使用这些集合类型,您可以在单个变量中存储多个值。本章介绍如何在 Cassandra 中使用集合。
列表
列表用于以下情况
- 元素的顺序要保持,并且
- 一个值将被存储多次。
您可以使用列表中元素的索引来获取列表数据类型的值。
创建带有列表的表
下面给出了创建一个包含两列(名称和电子邮件)的示例表的示例。为了存储多封电子邮件,我们使用列表。
cqlsh:tutorialspoint> CREATE TABLE data(name text PRIMARY KEY, email list<text>);
将数据插入列表
将数据插入列表中的元素时,请在方括号 [ ] 内输入用逗号分隔的所有值,如下所示。
cqlsh:tutorialspoint> INSERT INTO data(name, email) VALUES ('ramu', ['abc@gmail.com','cba@yahoo.com'])
更新列表
下面给出了一个更新名为data 的表中的列表数据类型的示例。在这里,我们将另一封电子邮件添加到列表中。
cqlsh:tutorialspoint> UPDATE data ... SET email = email +['xyz@tutorialspoint.com'] ... where name = 'ramu';
确认
如果您使用 SELECT 语句验证表,您将得到以下结果 -
cqlsh:tutorialspoint> SELECT * FROM data; name | email ------+-------------------------------------------------------------- ramu | ['abc@gmail.com', 'cba@yahoo.com', 'xyz@tutorialspoint.com'] (1 rows)
放
集合是一种数据类型,用于存储一组元素。集合的元素将按排序顺序返回。
使用 Set 创建表
以下示例创建一个包含两列(名称和电话)的示例表。为了存储多个电话号码,我们使用 set。
cqlsh:tutorialspoint> CREATE TABLE data2 (name text PRIMARY KEY, phone set<varint>);
将数据插入集合
将数据插入集合中的元素时,请在大括号 { } 内输入用逗号分隔的所有值,如下所示。
cqlsh:tutorialspoint> INSERT INTO data2(name, phone)VALUES ('rahman', {9848022338,9848022339});
更新集合
以下代码演示如何更新名为 data2 的表中的集合。在这里,我们将另一个电话号码添加到集合中。
cqlsh:tutorialspoint> UPDATE data2 ... SET phone = phone + {9848022330} ... where name = 'rahman';
确认
如果您使用 SELECT 语句验证表,您将得到以下结果 -
cqlsh:tutorialspoint> SELECT * FROM data2; name | phone --------+-------------------------------------- rahman | {9848022330, 9848022338, 9848022339} (1 rows)
地图
Map 是一种数据类型,用于存储元素的键值对。
使用地图创建表格
以下示例演示如何创建具有两列(名称和地址)的示例表。为了存储多个地址值,我们使用映射。
cqlsh:tutorialspoint> CREATE TABLE data3 (name text PRIMARY KEY, address map<timestamp, text>);
将数据插入地图
将数据插入映射中的元素时,输入所有键:值对,并在大括号 { } 内用逗号分隔,如下所示。
cqlsh:tutorialspoint> INSERT INTO data3 (name, address) VALUES ('robin', {'home' : 'hyderabad' , 'office' : 'Delhi' } );
更新集合
以下代码演示如何更新名为 data3 的表中的地图数据类型。这里我们正在改变key office的值,也就是说,我们正在改变一个叫robin的人的办公室地址。
cqlsh:tutorialspoint> UPDATE data3 ... SET address = address+{'office':'mumbai'} ... WHERE name = 'robin';
确认
如果您使用 SELECT 语句验证表,您将得到以下结果 -
cqlsh:tutorialspoint> select * from data3; name | address -------+------------------------------------------- robin | {'home': 'hyderabad', 'office': 'mumbai'} (1 rows)