cassandra基本操作

1
describe keyspaces;(或desc keyspaces;)

2、创建一个keyspace:

1
CREATE KEYSPACE IF NOT EXISTS myCas WITH REPLICATION = {'class': 'SimpleStrategy','replication_factor':1};

class : 副本配置策略(总共有三种):   

Simple Strategy(RackUnaware Strategy):副本不考虑机架的因素,按照Token放置在连续下几个节点。如下图所示,假如副本数为3,属于A节点的数据在B.C两个节点中也放置副本
  OldNetwork Topology Strategy(RackAware Strategy):考虑机架的因素,除了基本的数据外,先找一个处于不同数据中心的点放置一个副本,其余N-2个副本放置在同一数据中心的不同机架中   

Network Topology Strategy(DatacneterShard Strategy):将M个副本放置到其他的数据中心,将N-M-1的副本放置在同一数据中心的不同机架中

3、使用某个keyspace:

1
use myCas;

4、查询全部的table:

1
desc tables;

5、创建一张表:

1
CREATE TABLE user (id int, user_name varchar, PRIMARY KEY (id) );

 创建表的时候至少指定一个主键

6、向表中插入一条记录:

1
INSERT INTO user (id,user_name) VALUES (1,'zhangsan');

  列名必须要显示指定,如果表中已存在相同主键的记录,那么该操作会覆盖表中已存在的记录

7、查询表中全部数据:

1
select * from user;

 cassandra查询有很多限制,比如只能单表查询,不支持联表查询和子查询,查询条件只支持key查询和索引列查询,而且key有顺序的限制,等等;更多详情请自行阅读官方文档
8、简单的条件查询:

1
select * from user where id=1;

9、创建索引:

1
create index on user(user_name);

10、索引列查询:

1
select * from user where user_name='zhangsan';

​ 若没有在name上创建索引,那么此查询会报错;
11、更新表中数据:update user set user_name=’lisi’ where id=2;
​ 只支持按主键更新,也就是where后只能跟主键
12、删除表中记录:delete from user where id=1;
​ 删除某条记录中的某个字段,该字段会被设成null:delete user_name from user where id=1;
​ 无论是删除某条记录,还是将某个字段置null,都只支持按主键删除,也就是where后只能跟主键

13、批量操作:

1
Multiple INSERT, UPDATE and DELETE can be executed in a single statement by grouping them through a BATCH statement(通过batch能够执行多个insert、update以及delete)

例如:

1
2
3
4
5
6
7
8
9
10
11
BEGIN BATCH

INSERT INTO user (id, user_name) VALUES (2, 'second user');

UPDATE user SET user_name = 'ps22dhds' WHERE id = 2;

INSERT INTO user (id, user_name) VALUES (3, 'lee long');

DELETE user_name FROM user WHERE id = 3;

APPLY BATCH;
打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2018-2020 丁振莹
  • 访问人数: | 浏览次数:

你的每一分支持,是我努力下去的最大的力量 ٩(๑❛ᴗ❛๑)۶

支付宝
微信