Cassandra 之 入门

时间:2023-03-10 01:14:12
Cassandra 之 入门

1、到官网下载压缩包。

http://cassandra.apache.org/download/

我下载的是最新的

另外:语言支持:http://wiki.apache.org/cassandra/ClientOptions

2、解压到特定目录,我的是

  • D:\Programs\apache-cassandra-2.0.10

3、环境变量,改配置。

此处只是入门,统统不需要,略过,实战的话,才需要这些个东东。

4、启动服务。

打开命令行,进入上边文件夹下的bin目录。执行cassandra.bat如下操作.

Cassandra 之 入门

Cassandra 之 入门

Cassandra可以通过cli、cqlsh两种方式操作数据库

切记,两种指令虽有类似,但不尽相同,切勿混用。

5、通过cli操作接数据库,

5.1 cli连接数据库,执行cassandra-cli.bat

Cassandra 之 入门

5.2、cli创建数据库“demo”,建表users;

(网上好多入门文章,不讲怎么建表,直接上来就插入数据,进行查询,这不坑爹吗)

先看图吧。

Cassandra 之 入门

Cassandra 之 入门

创建完成,使用 show keyspaces查看所有数据库,其中demo大概就长这个样子的。

Cassandra 之 入门

以下是代码,方便大家复制粘贴。

注意:

1、备注不要拷贝到命令行执行哈。

2、canssdra 每个cli指令后边都加“;”分号,即表示该指令结束了

redis每个指令后边均不能加标点符号,否则会保错

//创建数据库demo,如已存在,请删掉该数据库。方法,drop keyspace demo;

create keyspace demo;

//切换到数据库demo
use demo; //建表users
create column family users
with comparator = UTF8Type
and key_validation_class=UTF8Type
and column_metadata=[
{column_name:full_name,validation_class:UTF8Type }
{column_name:email,validation_class:UTF8Type }
{column_name:state,validation_class:UTF8Type }
{column_name:gender,validation_class:UTF8Type }
{column_name:birth_year,validation_class:LongType }]; assume users keys as utf8;
assume User comparator as utf8;
assume Users validator as utf8; //插入数据,'1234'为该列的key ,至于为啥是字符串而不是数字,因为上边我们创建标的时候指定了key_validation_class=UTF8Type set users[utf8('1234')][utf8('full_name')] = utf8('zhangxuhui');
set users[utf8('1234')][utf8('email')] = utf8('mypasswordstr');
set users[utf8('1234')][utf8('state')] = utf8('enable');
set users[utf8('1234')][utf8('gender')] = utf8('M');
set users[utf8('1234')][utf8('birth_year')] = 1984;

5.3、cli查询

get users[utf8('1234')];

5.4、附:部分概念对照

keyspace ==========databasename

column family=======table

column===========字段

super column=======其实就是多个字段的集合

其他常用指令:

show keyspaces;//列出所有数据库

drop keyspace demo;删除名字叫demo的数据库

其他的大家输入help,自己慢慢研究吧

附CLI指令目录:

http://blog.sina.com.cn/s/blog_4d14fb2b0100plaq.html

http://wiki.apache.org/cassandra/CassandraCli08

6、通过cql操作数据库

6.1、下载安装python相对应版本,

切记不要安装3X的,(cassandra 目录下cqlsh用的是2X的语法,安装3X无法执行)

地址:https://www.python.org/downloads/windows/

X86:https://www.python.org/ftp/python/2.7.9/python-2.7.9.msi

X64:https://www.python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi

比如,我机子是win7 X64 ,需要安装64位的。若是64位机子安装32为python,cassandra cqlsh会报“监测不到python版本”

6.2 cqlsh连接数据库,建表,查询

//创建数据库

cqlsh:system> CREATE KEYSPACE cqldemo WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1
}; //切换数据库
cqlsh:system> use cqldemo; //创建表
cqlsh:cqldemo> create table cqlusers(user_id int PRIMARY KEY, uname text, email text, state int,gender int,la
stlogin Timestamp); //插入数据
cqlsh:cqldemo> INSERT INTO cqlusers (user_id, uname , email,state,gender,lastlogin) VALUES (1,'zxh','piaolingz
xh@qq.com',1,1,'now');
cqlsh:cqldemo> INSERT INTO cqlusers (user_id, uname , email,state,gender,lastlogin) VALUES (2,'zxh2','piaoling
zxh@qq2.com',1,1,'now'); //查询数据
cqlsh:cqldemo> select * from cqlusers; user_id | email | gender | lastlogin | state | uname
---------+---------------------+--------+----------------------------------------+-------+-------
1 | piaolingzxh@qq.com | 1 | 2015-01-04 19:05:50China Standard Time | 1 | zxh
2 | piaolingzxh@qq2.com | 1 | 2015-01-04 19:05:53China Standard Time | 1 | zxh2 (2 rows)
cqlsh:cqldemo>

附:cql指令:http://cassandra.apache.org/doc/cql3/CQL.html

7、Cassandra可以通过cli、cqlsh两种方式操作数据库,切记,两种指令虽有类似,但不尽相同,切勿混用。