参考:datastax documention : CQL for cassandra 2.x
Cassandra 提供collection 用于处理某些特殊类型的需求,如单用户记录的多个邮件地址,此处翻译为
集合类型。
Cassandra 提供了三种集合类型,分别是Set,List,Map。
基本概念与操作
一、Set
Set存储了一组类型相同的不重复元素,当被查询时会返回排好序的结果,但是内部构成是无序的值,应该是在查询时对结果进行了排序。
使用示例:
1.创建带有Set类型列的表
CREATE TABLE users ( user_id text PRIMARY KEY, first_name text, last_name text, emails set<text> );
2.插入数据
INSERT INTO users (user_id, first_name, last_name, emails) VALUES('frodo', 'Frodo', 'Baggins', { '[email protected]', '[email protected]'});
3.使用UPDATE命令和‘+’操作符向set列添加一个元素。
UPDATE users SET emails = emails + { '[email protected]'} WHERE user_id = 'frodo';
4.查询
SELECT user_id, emails FROM users WHERE user_id = 'frodo';
结果如下
user_id | emails ---------+------------------------------------------------------------------- frodo | {"[email protected]","[email protected]","[email protected]"}
注:
Cassandra
会按照set内数据类型进行排序返回
查询结果,如果希望按照插入序返回结果,请使用list.
5.删除一个元素
UPDATE users SET emails = emails - { '[email protected]'}