1CQL由类似SQL的语句组成,包括修改,查询,保存,变更数据的存储方式等等功能。每一行语句由分号(;)结束。
例如,下面是一个合法的CQL:
SELECT * FROM MyTable;
UPDATE MyTable
SET SomeColumn = 'Some Value'
WHERE columnName = 'Something Else';
这里一共两条语句。每条语句可以写成一行也可以写成多行。
在CQL里,keyspace,column和table的名称是忽略大小写的,除非用双引号(")括起来,才是大小写敏感的。如果不用双引号括起来,即使CQL写成大写,也会被保存为小写。
例如:
CREATE TABLE test (
Foo int PRIMARY KEY,
"Bar" int
);
CQL的关键字都是忽略大小写的。例如,关键字SELECT和select是等价的。
2CQL内建了以下这些列的数据类型:
CQL类型 | 常量类型 | 说明 |
---|---|---|
ascii | strings | US-ASCII字符串 |
bigint | integers | 64位有符号long |
blob | blobs | 任意的16进制格式的bytes |
boolean | booleans | true或false |
counter | integers | 分布式counter值 (64位long) |
decimal | integers, floats | 可变精度浮点数 |
double | integers, floats | 64位IEEE-754浮点数 |
float | integers, floats | 3位IEEE-754浮点数 |
inet | strings | IPv4或IPv6格式的IP地址 |
int | integers | 32位有符号整数 |
list<T> | n/a | 有序集合, T可以是任意非集合CQL数据类型,例如:int, text等 |
map<K,V> | n/a | 哈希表, K和V可以是任意非集合CQL数据类型,例如:int, text等 |
set<T> | n/a | 无序集合, T可以是任意非集合CQL数据类型,例如:int, text等 |
text | strings | UTF-8编码字符串 |
timestamp | integers, strings | 日期+时间 |
uuid | uuids | 标准UUID格式 |
timeuuid | uuids | Type 1 UUID |
varchar | strings | UTF-8编码字符串 |
varint | integers | 任意精度整数 |
完整的CQL命令参考,请参照:CQL commands.