Cassandra基本使用教程 CQL語法

2021-09-28 23:05:14 字數 3911 閱讀 9305

cassandra是facebook的乙個nosql資料庫,大致相當於redis但又不同於redis,具體在cap理論中,以後補上來。

建立表空間,設定複製策略和複製因子:

create keyspace mykeyspace with replication = ;
或者

create keyspace mykeyspace1 with replication =  and durable_writes = false;
create keyspace語句有兩個屬性:replication和durable_writes,replication為複製策略,因為cassandra是無中心的分布式nosql資料庫,所以必需複製策略,replication中的class引數為具體的複製策略,replication為複製因子,複製的份數。

修改表空間

alter keyspace mykeyspace with replication = ;
刪除表空間

drop keyspace mykeyspace1;
檢視剛剛建立的表空間

describe keyspaces;
使用建立的表空間

use mykeyspace ;
在表空間內建立表:(和sql感覺一致)

建立名為cache的表,其中有int型id屬性、text型別的type、value、other三個屬性

create table cache ( 

id int primary key,

type text,

value text,

other text

);

檢視已經建立的表

describe tables;
檢視表結構

describe table tablename;
在表空間內刪除表

刪除名為cache的表

drop table cache;
修改表結構——新增列

在cache表中新增text型別的名為parent的列

alter table cache add parent text;
修改表結構——刪除列

在cache表中刪除名為parent的列

alter table cache drop parent;
建立索引

在表cache中建立索引,索引是cache表中的type列

create index myindex on cache (type);
刪除索引

刪除表cache中名為myindex 的索引

drop index myindex;
批處理:(大致相當於儲存過程):

begin batch

begin batch

insert into cache (id, type, value, other) values (2, 'test', 'mytest2', 'no');

insert into cache (id, type, value, other) values (3, 'test', 'mytest3', 'no');

截斷表:(大致相當於清空表)

截斷(清空)cache 表

truncate cache;
插入資料

insert into cache (id, type, value, other) values (1, 'test', 'mytest1', 'no');
修改資料

update cache set other = 'no' where id =1;
查詢資料

!!!where條件查詢所有效的只能是加了索引的!!!

select * from cache;

select id, value from cache;

select id, value from cache where id = 1;

select * from cache where type = 'test';(此時的type列必須是加了索引的,參照前邊建立索引的部分)

刪除資料

!!!刪除資料的where條件只能是主鍵,不能使用其他條件!!!

delete from cache where id = 3;(正確)

delete from cache where type = 'test'; (錯誤,會報

invalidrequest: error from server: code=2200 [invalid query] message="some partition key parts are missing: id")

操作集合

操作lists

create table listcache (id int primary key, names list, email list); 新建表listcache,names和email屬性都是list型別

insert into listcache (id, names, email) values (1, ['zhangsan','lisi'], ['[email protected]', '[email protected]']); 插入資料,list型別資料用包起來

update listcache set names = names + ['wangwu'], email = email + ['[email protected]'] where id = 1; 更新資料

操作set

create table setcache (id int primary key, name text, emails set);   emails的資料型別是set

insert into setcache (id, name, emails) values (1, 'zhangsan', ); 插入資料,set資料使用{}包起來

update setcache set emails = emails + where id = 1; 更新資料,需要用舊資料+新資料,刪除就用-號

操作map

create table mapcache (id int primary key, info map);

insert into mapcache(id, info) values (1, );

update mapcache set info = info + where id = 1;

Cassandra 基本操作

嘗試乙個新的軟體 跑通乙個簡單的demo是必須的,下面的教程是我見到的最簡單的乙個,特地無恥的抄襲一下,時間略久了。啟動cassandra之後,我們可以用cassandra的命令列來執行cassandra的基本操作 先啟動cassandra cli 連線到cassandra服務 test clust...

cassandra常用基本操作

16.查詢系統鍵空間 select from system.schema keyspaces 17.修改keyspace alter keyspace wuzna with replication 18.durable writes 此選項,可以指示cassandra是否對當前keyspace的更新...

Cassandra命令列CLI的基本使用

啟動cassandra cli服務之後,可以進行cql的使用。1.建立keyspace 可以理解成關聯式資料庫的database default testkeyspace create keyspace test keyspace 6f22a515 d0d9 3587 b467 cf9639b8b8...