1 概述
CQL Shell 简称cqlsh,是一个可以和Cassandra数据库通信的客户端,使用这个cqlsh客户端可以执行Cassandra查询语言(CQL)。
2 启动cqlsh
进入cassandra安装目录下的 bin 目录,执行 cqlsh 命令
./cqlsh -u cassandra -p 'cassandra' 192.168.137.110 9042
3 启动说明
上面的操作在启动cqlsh的时候并没有指定需要连接的节点以及端口,默认 cqlsh 会自动探测本机及端口。上面的操作时已经启动了 Cassandra 服务并绑定相关端口,注:【 端口列表】,cqlsh默认就会连接本机的9042端口。
从上面的命令可以看出cqlsh 连接到名为 Test Cluster 的集群,这个名字是默认值,可以自定义,配置在 conf/cassandra.yaml 文件的 cluster_name 参数,注:【yaml全内容】
另外,也可以在启动cqlsh 的时候指定节点和端口,效果和不指定一样:
4 cqlsh的基本命令
4.1 help 帮助
输入命令,可以查看cqlsh 支持的命令
cqlsh> help
显示效果:
4.2 DESCRIBE
此命令配合 一些内容可以输入信息
1、Describe cluster 提供有关集群的信息
输入命令
cqlsh> Describe cluster;
效果
2、Describe Keyspaces 列出集群中的所有Keyspaces(键空间)
输入命令
cqlsh> Describe Keyspaces;
效果,显示当前Cassandra里的所有键空间
3、Describe tables 列出键空间的所有表
输入命令
cqlsh> Describe tables;
效果,当前没有创建任何的键空间,这里显示的默认内置的表
4、Describe tables 列出键空间内指定表的信息
先指定键空间 ,这里使用
USE system_traces ;
列出system_traces 下的 sessions信息
DESCRIBE sessions;
效果
4.3 Capture 捕获命令输出到文件
此命令捕获命令的输出并将其添加到文件。
输入命令,将输出内容捕获到名为outputfile的文件
CAPTURE '/tmp/outputfile'
执行效果
执行一个查询,控制台可以看到输出。
然后去看outputfile文件,会发现把刚才查询的结果也写入到文件中了
select * from sessions limit 1;
4.4 show 显示当前cqlsh会话的详细信息
show命令后可以跟3个内容 ,分别是 HOST 、SESSION 、VERSION 输入SHOW ,点击2次TAB 按键,可以看到3个内容提示
输入SHOW HOST,显示当前cqlsh 连接的Cassandra服务的ip和端口
输入
出入SHOW SESSION 显示会话信息,需要参数uuid
4.5 Exit 用于终止cql shell
5 CQL-Cassandra查询语言
CQL:Cassandra Query Language 和关系型数据库的 SQL 很类似(一些关键词相似),可以使用CQL和 Cassandra 进行交互,实现 定义数据结构,插入数据,执行查询。
注意:CQL 和 SQL 是相互独立,没有任何关系的。CQL 缺少 SQL 的一些关键功能,比如 JOIN 等。